From 8bfb2ae92a0349ef29ceb9f7dfd3fcf82a70950c Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Mon, 28 Sep 2026 14:38:38 -0400 Subject: [PATCH 01/67] Seed ACS-row SNAP/TANF take-up in the ACS local lane (#1019) The local lane left takes_up_snap_if_eligible and takes_up_tanf_if_eligible missing on every ACS SPM unit, and the reviewed-null fill gave them the engine default (universal take-up) in both the materialize pass and the consumer export. - New us_runtime.acs_local_take_up fills only missing ACS-row cells: receives_snap reporters take SNAP up, non-reporters draw to the snap_take_up stage's national FNS rate; TANF uses the take-up contract's seeded Bernoulli rate. Draws use take_up._stable_unit_draws. - The release tool runs it before both fill_reviewed_nulls calls, records the seed and an assignment digest in run_identity.json, and the consumer export must reproduce that digest; calibrate refuses a pre-#1019 checkpoint. - fill_reviewed_nulls refuses NaN in either take-up column. - New acs_local_take_up_signal gate is a finalize hard failure: completeness and non-constancy on both spines, rate band and receipt anchor on the ACS spine only (donor cells are graded by the donor release); package requires it passing and bound to the packaged bytes. - Other ACS take-up flags stay a reviewed limitation (#1022); TODO left in multispine_pool.seed_multispine_pool_inputs, which default-fills SNAP the same way. Co-Authored-By: Claude Opus 5.5 --- changelog.d/1019-acs-local-take-up.fixed.md | 1 + .../build/us_runtime/acs_local_take_up.py | 373 ++++++++++++++++++ .../build/us_runtime/multispine_pool.py | 5 + .../us/test_us_acs_local_release_tool.py | 172 +++++++- .../us/test_us_acs_local_take_up.py | 292 ++++++++++++++ .../engine_free/us/test_us_spine_blindness.py | 36 ++ tools/build_us_acs_local_release.py | 129 +++++- 7 files changed, 1004 insertions(+), 4 deletions(-) create mode 100644 changelog.d/1019-acs-local-take-up.fixed.md create mode 100644 packages/microcosm-build/src/microcosm/build/us_runtime/acs_local_take_up.py create mode 100644 packages/microcosm-build/tests/engine_free/us/test_us_acs_local_take_up.py diff --git a/changelog.d/1019-acs-local-take-up.fixed.md b/changelog.d/1019-acs-local-take-up.fixed.md new file mode 100644 index 0000000000..17e6be0255 --- /dev/null +++ b/changelog.d/1019-acs-local-take-up.fixed.md @@ -0,0 +1 @@ +Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/acs_local_take_up.py b/packages/microcosm-build/src/microcosm/build/us_runtime/acs_local_take_up.py new file mode 100644 index 0000000000..827dc835a4 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/acs_local_take_up.py @@ -0,0 +1,373 @@ +"""SNAP and TANF take-up for the ACS rows of the retained ACS local lane. + +The ACS transfer leaves take-up draws to the runtime, and the local lane runs +neither ``snap_take_up`` nor ``snap_state_take_up``. Every ACS SPM unit +therefore reached the engine pass with ``takes_up_snap_if_eligible`` and +``takes_up_tanf_if_eligible`` missing, and the reviewed-null fill gave them +the engine default, ``True``: every eligible ACS unit took both programs up +(microcosm#1019, the take-up counterpart of the #765 hours defect). + +This is a fresh-build repair for that lane. It fills only missing cells on +ACS-spine SPM units; donor-spine values and any stored ACS value are kept. + +- SNAP follows :mod:`~microcosm.build.us_runtime.snap_take_up`: a unit with + (QRF-imputed) ``receives_snap`` always takes up, and non-reporters draw at + the rate that puts the weighted ACS take-up share on the national FNS + participation rate of the ``snap_take_up`` manifest stage. +- TANF uses the take-up contract's seeded Bernoulli draw at its + administrative rate, with no receipt anchor, exactly as the contract seeds + it elsewhere. + +Draws come from :func:`~microcosm.build.us_runtime.take_up._stable_unit_draws`, +which keys a unit without complete source identity on its own ids, so the +assignment depends only on ``seed``, the frame and its weights. The +per-state recalibration of the ASEC lane is not applied; the release's state +SNAP household targets reweight instead. Other ``takes_up_*`` flags on ACS +rows still ship at the engine default (microcosm#1022) and the gate here does +not grade them. +""" + +from __future__ import annotations + +import hashlib + +import numpy as np +import pandas as pd + +from microcosm.build.gates import GateResult +from microcosm.build.us_runtime.acs_pums import ACS_2024_1YR_SPINE +from microcosm.build.us_runtime.acs_transfer import ASEC_PUF_DONOR_SPINE +from microcosm.build.us_runtime.base_pool import spine_column +from microcosm.build.us_runtime.snap_take_up import ( + _TAKE_UP_SHARE_BAND as _SNAP_TAKE_UP_SHARE_BAND, +) +from microcosm.build.us_runtime.snap_take_up import ( + US_SNAP_TAKE_UP_OUTPUT_COLUMN, + _take_up_rate, + us_snap_take_up_stage_spec, +) +from microcosm.build.us_runtime.take_up import ( + US_TAKE_UP_SHARE_BAND, + _seed_program, + _stable_unit_draws, + _units_with_source_identity, +) +from microcosm.build.us_runtime.take_up_contract import ( + TakeUpProgram, + seeded_take_up_programs, +) +from microcosm.frame import Frame +from microcosm.frame.units import US_SCHEMA + +__all__ = [ + "ACS_LOCAL_TAKE_UP_COLUMNS", + "ACS_LOCAL_TAKE_UP_GATE_NAME", + "US_TANF_TAKE_UP_OUTPUT_COLUMN", + "acs_local_take_up_signal_gate", + "with_acs_local_take_up_inputs", +] + +US_TANF_TAKE_UP_OUTPUT_COLUMN = "takes_up_tanf_if_eligible" + +#: The SPM-unit take-up flags this stage owns on ACS rows. +ACS_LOCAL_TAKE_UP_COLUMNS: tuple[str, ...] = ( + US_SNAP_TAKE_UP_OUTPUT_COLUMN, + US_TANF_TAKE_UP_OUTPUT_COLUMN, +) +ACS_LOCAL_TAKE_UP_GATE_NAME = "acs_local_take_up_signal" + +_ID_COLUMN = "spm_unit_id" +#: Reported (on ACS rows, QRF-transferred) SNAP receipt: the survey anchor. +_REPORTED_SNAP_COLUMN = "receives_snap" +_SNAP_OPERATION = "derive_snap_take_up" +_SHARE_BANDS: dict[str, tuple[float, float]] = { + US_SNAP_TAKE_UP_OUTPUT_COLUMN: _SNAP_TAKE_UP_SHARE_BAND, + US_TANF_TAKE_UP_OUTPUT_COLUMN: US_TAKE_UP_SHARE_BAND[US_TANF_TAKE_UP_OUTPUT_COLUMN], +} + + +def _flags(values: pd.Series) -> tuple[np.ndarray, np.ndarray]: + """Boolean values with missing cells as ``False``, and the present mask.""" + present = values.notna().to_numpy(dtype=bool) + flags = np.zeros(len(values), dtype=bool) + flags[present] = values[present].astype(bool).to_numpy(dtype=bool) + return flags, present + + +def _snap_rate() -> tuple[float, str]: + """The national rate and citation of the ``snap_take_up`` manifest stage.""" + stage = us_snap_take_up_stage_spec() + operations = [op for op in stage.operations if op.kind == _SNAP_OPERATION] + if len(operations) != 1: + raise ValueError( + f"The {stage.stage!r} stage must declare exactly one {_SNAP_OPERATION!r} " + f"operation; found {len(operations)}." + ) + rate = _take_up_rate(operations[0]) + return rate, str(operations[0].parameters["take_up_rate"]["source"]) + + +def _tanf_program() -> TakeUpProgram: + for program in seeded_take_up_programs(): + if program.variable == US_TANF_TAKE_UP_OUTPUT_COLUMN: + return program + raise ValueError( + f"The take-up contract does not seed {US_TANF_TAKE_UP_OUTPUT_COLUMN!r}." + ) + + +def _filled(values: pd.Series, missing: np.ndarray, assigned: np.ndarray) -> pd.Series: + if not missing.any(): + return values + filled = values.astype(object) + filled.loc[missing] = assigned[missing] + return filled.astype(bool) if filled.notna().all() else filled + + +def _share(weights: np.ndarray, flags: np.ndarray) -> float: + total = float(weights.sum()) + return float(weights[flags].sum()) / total if total > 0 else 0.0 + + +def _assignment_sha256(spm_unit: pd.DataFrame, rows: np.ndarray) -> str: + """Digest of the ACS rows' ids and flags, to prove two passes agree.""" + selected = pd.DataFrame( + { + _ID_COLUMN: spm_unit.loc[rows, _ID_COLUMN].to_numpy(), + **{ + column: _flags(spm_unit.loc[rows, column])[0] + for column in ACS_LOCAL_TAKE_UP_COLUMNS + }, + } + ) + hashed = pd.util.hash_pandas_object(selected, index=False).to_numpy() + return hashlib.sha256(hashed.tobytes()).hexdigest() + + +def with_acs_local_take_up_inputs( + frame: Frame, *, seed: int +) -> tuple[Frame, dict[str, object]]: + """Fill missing ACS-row SNAP and TANF take-up flags; keep every other cell. + + Args: + frame: The local lane's multispine US frame. Its spm_unit table must + carry complete origin tags, both take-up columns and + ``receives_snap``. + seed: The build seed for the draws. + + Returns: + The frame with filled ACS cells (unchanged if none were missing) and + a JSON-ready receipt, including a digest of the ACS assignment. + + Raises: + ValueError: If the frame is not US-schema, origin tags are missing, + or a required column is absent. + """ + if frame.schema != US_SCHEMA: + raise ValueError("ACS local take-up inputs require the US schema.") + spm_unit = frame.table("spm_unit") + tag = spine_column("spm_unit") + if tag not in spm_unit or spm_unit[tag].isna().any(): + raise ValueError(f"ACS local take-up requires complete origin tags: {tag}.") + absent = [ + column + for column in (*ACS_LOCAL_TAKE_UP_COLUMNS, _REPORTED_SNAP_COLUMN) + if column not in spm_unit + ] + if absent: + raise ValueError( + f"ACS local take-up requires spm_unit column(s) {absent}; a missing " + "donor column would reach the engine as universal take-up." + ) + acs = spm_unit[tag].eq(ACS_2024_1YR_SPINE).to_numpy(dtype=bool) + units = _units_with_source_identity(frame, "spm_unit") + if not np.array_equal(units[_ID_COLUMN].to_numpy(), spm_unit[_ID_COLUMN]): + raise ValueError("SPM-unit source identity does not align with the table.") + weights = units["_weight"].to_numpy(dtype=np.float64) + acs_weight = float(weights[acs].sum()) + + # SNAP: reporters take up; non-reporters draw to the national rate. + snap_flags, snap_present = _flags(spm_unit[US_SNAP_TAKE_UP_OUTPUT_COLUMN]) + snap_missing = acs & ~snap_present + reported, reported_present = _flags(spm_unit[_REPORTED_SNAP_COLUMN]) + anchored = snap_missing & reported + open_units = snap_missing & ~reported + rate, rate_source = _snap_rate() + # Weight the non-reporter draws must add for the ACS share to reach the + # rate; when reporters and stored cells already exceed it, no one draws. + shortfall = ( + rate * acs_weight + - float(weights[acs & snap_present & snap_flags].sum()) + - float(weights[anchored].sum()) + ) + open_weight = float(weights[open_units].sum()) + draw_rate = ( + min(1.0, max(0.0, shortfall) / open_weight) if open_weight > 0.0 else 0.0 + ) + snap_assigned = anchored.copy() + if open_units.any(): + draws = _stable_unit_draws( + units.loc[open_units], + id_column=_ID_COLUMN, + seed=int(seed), + variable=US_SNAP_TAKE_UP_OUTPUT_COLUMN, + ) + snap_assigned[open_units] = draws < draw_rate + + # TANF: the contract's seeded Bernoulli draw, no receipt anchor. + program = _tanf_program() + seeded, _ = _seed_program(frame, program, seed=int(seed)) + if not np.array_equal(seeded[_ID_COLUMN], spm_unit[_ID_COLUMN].to_numpy()): + raise ValueError("Seeded TANF take-up does not align with the spm_unit table.") + tanf_assigned = np.asarray(seeded[US_TANF_TAKE_UP_OUTPUT_COLUMN], dtype=bool) + tanf_missing = acs & ~_flags(spm_unit[US_TANF_TAKE_UP_OUTPUT_COLUMN])[1] + + result = frame + if snap_missing.any() or tanf_missing.any(): + updated = spm_unit.copy() + updated[US_SNAP_TAKE_UP_OUTPUT_COLUMN] = _filled( + spm_unit[US_SNAP_TAKE_UP_OUTPUT_COLUMN], snap_missing, snap_assigned + ) + updated[US_TANF_TAKE_UP_OUTPUT_COLUMN] = _filled( + spm_unit[US_TANF_TAKE_UP_OUTPUT_COLUMN], tanf_missing, tanf_assigned + ) + result = Frame( + { + entity: updated if entity == "spm_unit" else frame.table(entity) + for entity in frame.entities + }, + frame.schema, + {entity: frame.weights_for(entity) for entity in frame.weighted_entities}, + frame.strata, + mass_log=frame.mass_log, + metadata=frame.metadata, + ) + final = result.table("spm_unit") + acs_weights = weights[acs] + receipt: dict[str, object] = { + "issue": "microcosm#1019", + "seed": int(seed), + "spine": ACS_2024_1YR_SPINE, + "acs_spm_units": int(acs.sum()), + "programs": { + US_SNAP_TAKE_UP_OUTPUT_COLUMN: { + "rate": rate, + "rate_source": rate_source, + "filled_rows": int(snap_missing.sum()), + "preserved_rows": int((acs & snap_present).sum()), + "reported_receipt_rows": int(anchored.sum()), + "missing_receipt_rows_as_non_reporters": int( + (snap_missing & ~reported_present).sum() + ), + "non_reporter_draw_rate": draw_rate, + "weighted_take_up_share": _share( + acs_weights, + _flags(final.loc[acs, US_SNAP_TAKE_UP_OUTPUT_COLUMN])[0], + ), + }, + US_TANF_TAKE_UP_OUTPUT_COLUMN: { + "rate": program.rate.get("value"), + "rate_source": program.rate.get("source"), + "filled_rows": int(tanf_missing.sum()), + "preserved_rows": int((acs & ~tanf_missing).sum()), + "weighted_take_up_share": _share( + acs_weights, + _flags(final.loc[acs, US_TANF_TAKE_UP_OUTPUT_COLUMN])[0], + ), + }, + }, + "assigned_sha256": _assignment_sha256(final, acs), + } + return result, receipt + + +def acs_local_take_up_signal_gate(frame: Frame) -> GateResult: + """Require complete, anchored, plausible SNAP and TANF take-up per origin. + + For each spine, fails when a flag is missing, has missing cells, or is + constant (the engine-default universal take-up this lane shipped). On the + ACS spine, whose cells this stage assigns, it also fails when a share + leaves its plausibility band or (SNAP) a ``receives_snap`` reporter does + not take up. Donor-spine shares and anchors are reported but not graded: + those cells come from the donor release, whose own take-up gates graded + them. Other ``takes_up_*`` columns are not graded (microcosm#1022). + """ + spm_unit = frame.table("spm_unit") + tag = spine_column("spm_unit") + failures: list[str] = [] + by_spine: dict[str, object] = {} + if tag not in spm_unit or spm_unit[tag].isna().any(): + failures.append(f"Missing SPM-unit origin tags: {tag}.") + else: + weights = np.asarray(frame.resolve_weights("spm_unit").values, dtype=float) + for spine in (ASEC_PUF_DONOR_SPINE, ACS_2024_1YR_SPINE): + selected = spm_unit[tag].eq(spine).to_numpy(dtype=bool) + # Only the ACS cells are this stage's output; grade their + # plausibility and anchor. Donor cells are graded upstream. + graded = spine == ACS_2024_1YR_SPINE + columns: dict[str, object] = {} + by_spine[spine] = { + "rows": int(selected.sum()), + "graded": graded, + "columns": columns, + } + if not selected.any(): + failures.append(f"{spine}: no spm_unit rows.") + continue + for column, (low, high) in _SHARE_BANDS.items(): + if column not in spm_unit: + failures.append(f"{spine}: missing {column}.") + continue + flags, present = _flags(spm_unit.loc[selected, column]) + share = _share(weights[selected], flags) + unique = len(np.unique(flags[present])) + entry: dict[str, object] = { + "missing_rows": int((~present).sum()), + "unique_values": unique, + "take_up_share": share, + "share_band": [low, high], + } + columns[column] = entry + if not present.all(): + failures.append( + f"{spine}: {column} has missing rows; an engine-default " + "fill is universal take-up." + ) + if unique < 2: + failures.append( + f"{spine}: {column} is constant; universal take-up is the " + "engine-default landmine." + ) + if graded and not (low <= share <= high): + failures.append( + f"{spine}: {column} take-up share {share:.3f} outside " + f"plausibility band [{low}, {high}]." + ) + if column != US_SNAP_TAKE_UP_OUTPUT_COLUMN: + continue + if _REPORTED_SNAP_COLUMN not in spm_unit: + failures.append( + f"{spine}: missing {_REPORTED_SNAP_COLUMN}; the reported-" + "receipt anchor cannot be verified." + ) + continue + reported, _ = _flags(spm_unit.loc[selected, _REPORTED_SNAP_COLUMN]) + not_taking_up = int((reported & present & ~flags).sum()) + entry["reporters_not_taking_up"] = not_taking_up + if graded and not_taking_up: + failures.append( + f"{spine}: {not_taking_up} SPM unit(s) report SNAP receipt " + "but carry no take-up; reported recipients must take up." + ) + unknown = set(spm_unit[tag].unique()) - { + ASEC_PUF_DONOR_SPINE, + ACS_2024_1YR_SPINE, + } + if unknown: + failures.append("Local take-up origin tags contain an unsupported spine.") + return GateResult( + name=ACS_LOCAL_TAKE_UP_GATE_NAME, + passed=not failures, + failures=tuple(failures), + details={"per_spine": by_spine}, + ) diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py b/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py index 9bfdd254ea..d3a97098f5 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py @@ -3122,6 +3122,11 @@ def seed_multispine_pool_inputs( defaulted_rows = 0 seeded_rows = 0 else: + # TODO(microcosm#1019): takes_up_snap_if_eligible lands here, so + # its missing (ACS-row) cells get the engine default, universal + # take-up. The legacy local lane seeds them in acs_local_take_up; + # this module must stay spine-blind, so the fix here needs a + # spine-blind receipt-anchored SNAP seed and a contract change. if program.variable not in defaults: raise ValueError( "PolicyEngine exposes no input default for take-up variable " diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py index be3d3a87d8..b956656174 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py @@ -352,6 +352,60 @@ def failed_gate(frame, *, source_null_audit): assert seen == [(marker, audit)] +def test_reviewed_null_fill_refuses_to_default_fill_take_up(tmp_path) -> None: + """microcosm#1019: a missing take-up cell is refused even when registered, + because the engine default ``True`` is universal take-up.""" + + from microcosm.frame import Frame + + module = _load_tool_module() + frame = _plausible_hours_frame() + spm_unit = frame.table("spm_unit").assign( + takes_up_snap_if_eligible=[True, False] * 3 + [np.nan] * 2 + ) + frame = Frame( + { + entity: spm_unit if entity == "spm_unit" else frame.table(entity) + for entity in frame.entities + }, + frame.schema, + {"household": frame.weights_for("household")}, + ) + summary = tmp_path / "staging.summary.json" + summary.write_text( + json.dumps( + { + "reviewed_engine_input_nulls": [ + { + "entity": "spm_unit", + "column": "takes_up_snap_if_eligible", + "missing_rows": 2, + } + ] + } + ) + ) + with pytest.raises( + module.DeniedDefaultFillError, + match=r"spm_unit\.takes_up_snap_if_eligible \(2 null rows\)", + ): + module.fill_reviewed_nulls(frame, summary) + assert spm_unit["takes_up_snap_if_eligible"].isna().sum() == 2 + + +def test_take_up_consumers_refuse_a_checkpoint_without_the_assignment() -> None: + module = _load_tool_module() + for identity in ( + {}, + {"acs_local_take_up": {"seed": "0", "assigned_sha256": "a" * 64}}, + {"acs_local_take_up": {"seed": 0}}, + ): + with pytest.raises(SystemExit, match="Re-run --stage materialize"): + module._recorded_take_up(identity) + recorded = {"seed": 3, "assigned_sha256": "a" * 64} + assert module._recorded_take_up({"acs_local_take_up": recorded}) == recorded + + def _package_evidence_args(module, tmp_path: Path, monkeypatch, *, hours_report): """Every package-stage input, with the finalize report's hours entry given. @@ -390,6 +444,12 @@ def _package_evidence_args(module, tmp_path: Path, monkeypatch, *, hours_report) "detail": {}, "artifact_sha256": artifact_sha, }, + "acs_local_take_up_signal": { + "passed": True, + "failures": [], + "detail": {}, + "artifact_sha256": artifact_sha, + }, } if hours_report is not None: gates["acs_local_hours_signal"] = hours_report @@ -1064,6 +1124,23 @@ def _stub_local_hours_gate(module, monkeypatch) -> None: ) +def _stub_local_take_up_gate(module, monkeypatch, *, passed=True) -> None: + """Make the ACS take-up classification pass (or fail); its tests cover it.""" + + from microcosm.build.gates import GateResult + + monkeypatch.setattr( + module, + "acs_local_take_up_signal_gate", + lambda frame: GateResult( + name="acs_local_take_up_signal", + passed=passed, + failures=() if passed else ("acs_2024_1yr: invented constant take-up",), + details={}, + ), + ) + + def _patch_finalize_collaborators(module, monkeypatch, frame=None, *, identity=True): """Stub the ladder gate and composition; ``frame=None`` loads real bytes.""" @@ -1080,6 +1157,7 @@ def _patch_finalize_collaborators(module, monkeypatch, frame=None, *, identity=T ) monkeypatch.setattr(module, "spine_composition", lambda *a, **k: {}) _stub_local_hours_gate(module, monkeypatch) + _stub_local_take_up_gate(module, monkeypatch) if frame is not None: monkeypatch.setattr(module, "_load_staging_frame", lambda *a, **k: frame) if identity: @@ -1143,6 +1221,64 @@ def test_do_finalize_hours_gate_passes_on_plausible_surface( assert report["gates"]["hours_worked_signal"]["passed"] is True +def test_do_finalize_hard_fails_on_a_failed_take_up_gate(tmp_path, monkeypatch): + module = _load_tool_module() + args = _finalize_args(module, tmp_path) + _patch_finalize_collaborators(module, monkeypatch, _plausible_hours_frame()) + _stub_local_take_up_gate(module, monkeypatch, passed=False) + with pytest.raises(SystemExit) as exc: + module.do_finalize(args) + assert "acs_local_take_up_signal" in str(exc.value) + report = json.loads(args.gate_report.read_text()) + gate = report["gates"]["acs_local_take_up_signal"] + assert gate["passed"] is False + assert gate["failures"] == ["acs_2024_1yr: invented constant take-up"] + assert gate["artifact_sha256"] == module._sha256(args.out_h5) + summary = json.loads(args.out_summary.read_text()) + assert "acs_local_take_up_signal" in summary["simulation_readiness_blockers"] + + +def test_do_finalize_take_up_gate_fails_on_default_filled_acs_rows( + tmp_path, monkeypatch +): + """The 2026-09-23 release signature: every ACS unit takes SNAP/TANF up.""" + + from microcosm.build.us_runtime.base_pool import spine_column + from microcosm.frame import Frame + + module = _load_tool_module() + real_gate = module.acs_local_take_up_signal_gate + args = _finalize_args(module, tmp_path) + frame = _plausible_hours_frame() + spm_unit = frame.table("spm_unit").assign( + **{ + spine_column("spm_unit"): ["asec_puf"] * 4 + ["acs_2024_1yr"] * 4, + "takes_up_snap_if_eligible": [True, True, True, False] + [True] * 4, + "takes_up_tanf_if_eligible": [True, False, False, False] + [True] * 4, + "receives_snap": [True] + [False] * 7, + } + ) + frame = Frame( + { + entity: spm_unit if entity == "spm_unit" else frame.table(entity) + for entity in frame.entities + }, + frame.schema, + {"household": frame.weights_for("household")}, + ) + _patch_finalize_collaborators(module, monkeypatch, frame) + monkeypatch.setattr(module, "acs_local_take_up_signal_gate", real_gate) + with pytest.raises(SystemExit, match="acs_local_take_up_signal"): + module.do_finalize(args) + gate = json.loads(args.gate_report.read_text())["gates"]["acs_local_take_up_signal"] + assert gate["passed"] is False + assert all(failure.startswith("acs_2024_1yr:") for failure in gate["failures"]) + assert any( + "takes_up_snap_if_eligible is constant" in failure + for failure in gate["failures"] + ) + + @requires_pytables def test_finalize_binds_the_hours_gate_to_the_calibrated_artifact_bytes( tmp_path, monkeypatch @@ -1246,7 +1382,9 @@ def test_finalize_report_round_trips_into_package(tmp_path, monkeypatch) -> None ) -def _package_args_with_hours(module, tmp_path, monkeypatch, *, gate_state): +def _package_args_with_hours( + module, tmp_path, monkeypatch, *, gate_state, take_up_state="passed" +): """Real tiny H5 bytes; gate edits model stale separately resumed finalize.""" _stub_local_hours_gate(module, monkeypatch) @@ -1275,6 +1413,13 @@ def _package_args_with_hours(module, tmp_path, monkeypatch, *, gate_state): if gate_state == "missing" else {"hours_worked_signal": gate, "acs_local_hours_signal": local_gate} ) + take_up_gate = {"passed": True, "failures": [], "artifact_sha256": artifact_sha} + if take_up_state == "failed": + take_up_gate.update(passed=False, failures=["invented take-up failure"]) + elif take_up_state == "stale": + take_up_gate["artifact_sha256"] = "0" * 64 + if gates and take_up_state != "missing": + gates["acs_local_take_up_signal"] = take_up_gate args.gate_report.write_text(json.dumps({"gates": gates})) args.out_summary.write_text(json.dumps({"simulation_ready": True})) evidence = { @@ -1325,6 +1470,31 @@ def test_package_accepts_passing_hours_gate_bound_to_the_packaged_bytes( copied_sha = module._sha256(Path(result["root_artifact"]["local_path"])) assert gate["passed"] is True assert gate["artifact_sha256"] == result["root_artifact"]["sha256"] == copied_sha + take_up = json.loads((release_dir / "gate_summary.json").read_text())["gates"][ + "acs_local_take_up_signal" + ] + assert take_up["passed"] is True + assert take_up["artifact_sha256"] == copied_sha + + +@requires_pytables +@pytest.mark.parametrize("take_up_state", ["missing", "failed", "stale"]) +def test_package_requires_a_current_take_up_gate(tmp_path, monkeypatch, take_up_state): + """microcosm#1019: a report finalized before the take-up gate, or failing + it, or bound to other bytes, cannot package.""" + + module = _load_tool_module() + args = _package_args_with_hours( + module, + tmp_path, + monkeypatch, + gate_state="passed", + take_up_state=take_up_state, + ) + with pytest.raises(SystemExit, match="acs_local_take_up_signal"): + module.do_package(args) + assert not (args.out / "package_result.json").exists() + assert not list((args.out / "releases").rglob("*.json")) @requires_pytables diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_take_up.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_take_up.py new file mode 100644 index 0000000000..3497e67245 --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_take_up.py @@ -0,0 +1,292 @@ +"""ACS-row SNAP/TANF take-up for the retained ACS local lane (microcosm#1019).""" + +from __future__ import annotations + +import numpy as np +import pandas as pd +import pytest + +from microcosm.build.us_runtime.acs_local_take_up import ( + ACS_LOCAL_TAKE_UP_GATE_NAME, + US_TANF_TAKE_UP_OUTPUT_COLUMN, + acs_local_take_up_signal_gate, + with_acs_local_take_up_inputs, +) +from microcosm.build.us_runtime.acs_pums import ACS_2024_1YR_SPINE +from microcosm.build.us_runtime.acs_transfer import ASEC_PUF_DONOR_SPINE +from microcosm.build.us_runtime.base_pool import spine_column +from microcosm.build.us_runtime.snap_take_up import ( + US_SNAP_TAKE_UP_OUTPUT_COLUMN, + us_snap_take_up_stage_spec, +) +from microcosm.build.us_runtime.take_up import _seed_program +from microcosm.build.us_runtime.take_up_contract import seeded_take_up_programs +from microcosm.frame import US_SCHEMA, Frame, WeightKind, Weights + +SNAP = US_SNAP_TAKE_UP_OUTPUT_COLUMN +TANF = US_TANF_TAKE_UP_OUTPUT_COLUMN +TAG = spine_column("spm_unit") + + +def _manifest_snap_rate() -> float: + (operation,) = [ + op + for op in us_snap_take_up_stage_spec().operations + if op.kind == "derive_snap_take_up" + ] + return float(operation.parameters["take_up_rate"]["value"]) + + +def _frame( + *, + n_asec: int = 200, + n_acs: int = 3000, + reporter_share: float = 0.1, + drop: tuple[str, ...] = (), +) -> Frame: + """ASEC rows carry donor flags; ACS rows carry NaN flags and no source ids.""" + + n = n_asec + n_acs + ids = np.arange(1, n + 1) + rng = np.random.default_rng(7) + asec = np.arange(n) < n_asec + person = pd.DataFrame({"person_id": ids}) + tables = {"person": person} + for entity in US_SCHEMA.entities: + if entity == "person": + continue + person[f"person_{entity}_id"] = ids + tables[entity] = pd.DataFrame({f"{entity}_id": ids}) + person["source_year"] = np.where(asec, 2024, np.nan) + person["source_household_id"] = np.where(asec, ids + 10_000, np.nan) + person["source_person_id"] = np.where(asec, ids + 20_000, np.nan) + spm_unit = tables["spm_unit"] + spm_unit[TAG] = np.where(asec, ASEC_PUF_DONOR_SPINE, ACS_2024_1YR_SPINE) + position = np.arange(n) + spm_unit[SNAP] = pd.Series( + np.where(position < int(0.85 * n_asec), True, False), dtype=object + ).where(asec, np.nan) + spm_unit[TANF] = pd.Series( + np.where(position < int(0.25 * n_asec), True, False), dtype=object + ).where(asec, np.nan) + reporters = np.where(asec, position < 20, rng.random(n) < reporter_share) + spm_unit["receives_snap"] = reporters + for column in drop: + spm_unit.drop(columns=column, inplace=True) + weights = rng.uniform(0.5, 2.0, n) + return Frame( + tables, US_SCHEMA, {"household": Weights(weights, WeightKind.CALIBRATED)} + ) + + +def _with_spm_table(frame: Frame, spm_unit: pd.DataFrame) -> Frame: + return Frame( + { + entity: spm_unit if entity == "spm_unit" else frame.table(entity) + for entity in frame.entities + }, + frame.schema, + {"household": frame.weights_for("household")}, + ) + + +def _with_spm(frame: Frame, **columns) -> Frame: + return _with_spm_table(frame, frame.table("spm_unit").assign(**columns)) + + +def _acs(frame: Frame) -> np.ndarray: + return frame.table("spm_unit")[TAG].eq(ACS_2024_1YR_SPINE).to_numpy() + + +def test_donor_rows_stay_identical_and_acs_cells_are_filled() -> None: + frame = _frame() + before = frame.table("spm_unit").copy(deep=True) + result, receipt = with_acs_local_take_up_inputs(frame, seed=0) + after = result.table("spm_unit") + asec = ~_acs(frame) + for column in (SNAP, TANF): + assert after[column].notna().all() + assert after[column].dtype == bool + assert np.array_equal( + before.loc[asec, column].to_numpy(dtype=object), + after.loc[asec, column].to_numpy(dtype=object), + ) + assert receipt["programs"][column]["filled_rows"] == int(_acs(frame).sum()) + # The input frame is not mutated. + assert frame.table("spm_unit")[SNAP].isna().sum() == int(_acs(frame).sum()) + + +def test_acs_reporters_take_up_and_stored_acs_cells_are_kept() -> None: + frame = _frame() + acs = _acs(frame) + spm_unit = frame.table("spm_unit") + stored = int(np.flatnonzero(acs & spm_unit["receives_snap"].to_numpy())[0]) + snap = spm_unit[SNAP].copy() + snap.iloc[stored] = False + result, receipt = with_acs_local_take_up_inputs( + _with_spm(frame, **{SNAP: snap}), seed=0 + ) + after = result.table("spm_unit") + reporters = acs & spm_unit["receives_snap"].to_numpy() + reporters[stored] = False + assert after.loc[reporters, SNAP].all() + assert not after[SNAP].iloc[stored] + assert receipt["programs"][SNAP]["preserved_rows"] == 1 + + +def test_weighted_acs_shares_land_on_the_manifest_and_contract_rates() -> None: + frame = _frame() + acs = _acs(frame) + result, receipt = with_acs_local_take_up_inputs(frame, seed=3) + after = result.table("spm_unit") + weights = frame.weights_for("household").values + snap_share = weights[acs & after[SNAP].to_numpy()].sum() / weights[acs].sum() + rate = _manifest_snap_rate() + assert receipt["programs"][SNAP]["rate"] == rate + assert snap_share == pytest.approx(rate, abs=0.02) + assert receipt["programs"][SNAP]["weighted_take_up_share"] == pytest.approx( + snap_share + ) + # ACS rows have no source identity; the draws must not collapse onto one key. + non_reporters = acs & ~frame.table("spm_unit")["receives_snap"].to_numpy() + assert after.loc[non_reporters, SNAP].nunique() == 2 + + (program,) = [p for p in seeded_take_up_programs() if p.variable == TANF] + seeded, _ = _seed_program(frame, program, seed=3) + assert np.array_equal(after.loc[acs, TANF].to_numpy(), seeded[TANF][acs]) + tanf_share = receipt["programs"][TANF]["weighted_take_up_share"] + assert tanf_share == pytest.approx(float(program.rate["value"]), abs=0.03) + + +def test_assignment_is_deterministic_in_the_seed() -> None: + first, first_receipt = with_acs_local_take_up_inputs(_frame(), seed=11) + again, again_receipt = with_acs_local_take_up_inputs(_frame(), seed=11) + other, other_receipt = with_acs_local_take_up_inputs(_frame(), seed=12) + assert first_receipt == again_receipt + for column in (SNAP, TANF): + assert first.table("spm_unit")[column].equals(again.table("spm_unit")[column]) + assert other_receipt["assigned_sha256"] != first_receipt["assigned_sha256"] + + +def test_a_filled_frame_passes_through_unchanged() -> None: + filled, receipt = with_acs_local_take_up_inputs(_frame(), seed=0) + again, again_receipt = with_acs_local_take_up_inputs(filled, seed=0) + assert again is filled + assert again_receipt["programs"][SNAP]["filled_rows"] == 0 + assert again_receipt["assigned_sha256"] == receipt["assigned_sha256"] + + +@pytest.mark.parametrize("column", [SNAP, TANF, "receives_snap", TAG]) +def test_missing_inputs_are_refused(column: str) -> None: + with pytest.raises(ValueError, match="ACS local take-up requires"): + with_acs_local_take_up_inputs(_frame(drop=(column,)), seed=0) + + +def _filled() -> Frame: + return with_acs_local_take_up_inputs(_frame(), seed=0)[0] + + +def test_gate_passes_on_the_seeded_surface_and_ignores_other_flags() -> None: + frame = _filled() + # Other take-up flags remain engine defaults on ACS rows (microcosm#1022). + tables = {entity: frame.table(entity) for entity in frame.entities} + tables["tax_unit"] = tables["tax_unit"].assign(takes_up_eitc=True) + tables["spm_unit"] = tables["spm_unit"].assign( + takes_up_housing_assistance_if_eligible=True + ) + frame = Frame(tables, frame.schema, {"household": frame.weights_for("household")}) + gate = acs_local_take_up_signal_gate(frame) + assert gate.passed, gate.failures + assert gate.name == ACS_LOCAL_TAKE_UP_GATE_NAME + acs = gate.details["per_spine"][ACS_2024_1YR_SPINE]["columns"] + assert acs[SNAP]["reporters_not_taking_up"] == 0 + assert set(acs) == {SNAP, TANF} + + +def test_gate_fails_on_the_default_filled_release_signature() -> None: + """The 2026-09-23 release: every ACS unit default-filled to take up.""" + + frame = _frame() + acs = _acs(frame) + spm_unit = frame.table("spm_unit") + frame = _with_spm( + frame, + **{column: spm_unit[column].where(~acs, True) for column in (SNAP, TANF)}, + ) + gate = acs_local_take_up_signal_gate(frame) + assert not gate.passed + for column in (SNAP, TANF): + assert f"{ACS_2024_1YR_SPINE}: {column} is constant" in " ".join(gate.failures) + assert not any(ASEC_PUF_DONOR_SPINE in failure for failure in gate.failures) + + +def test_gate_fails_on_missing_cells() -> None: + gate = acs_local_take_up_signal_gate(_frame()) + assert not gate.passed + assert f"{ACS_2024_1YR_SPINE}: {SNAP} has missing rows" in " ".join(gate.failures) + + +def test_gate_fails_when_a_reporter_does_not_take_up() -> None: + frame = _filled() + spm_unit = frame.table("spm_unit") + reporter = int( + np.flatnonzero(_acs(frame) & spm_unit["receives_snap"].to_numpy())[0] + ) + snap = spm_unit[SNAP].copy() + snap.iloc[reporter] = False + gate = acs_local_take_up_signal_gate(_with_spm(frame, **{SNAP: snap})) + assert not gate.passed + assert "1 SPM unit(s) report SNAP receipt" in " ".join(gate.failures) + + +def test_gate_fails_on_a_non_constant_share_outside_the_band() -> None: + frame = _filled() + acs = _acs(frame) + spm_unit = frame.table("spm_unit") + # Only reporters take up: a non-constant surface far below the FNS rate. + low_snap = spm_unit[SNAP].where(~acs, spm_unit["receives_snap"]) + gate = acs_local_take_up_signal_gate(_with_spm(frame, **{SNAP: low_snap})) + assert not gate.passed + assert f"{ACS_2024_1YR_SPINE}: {SNAP} take-up share" in " ".join(gate.failures) + assert f"{TANF}" not in " ".join(gate.failures) + + +def test_gate_reports_but_does_not_grade_donor_shares_or_anchors() -> None: + """Donor-spine cells come from the donor release; only completeness fails.""" + + frame = _filled() + asec = ~_acs(frame) + spm_unit = frame.table("spm_unit") + # A donor surface far outside the band, with a reporter not taking up. + donor_snap = spm_unit[SNAP].where(~asec, spm_unit["receives_snap"]) + reporter = int(np.flatnonzero(asec & spm_unit["receives_snap"].to_numpy())[0]) + donor_snap.iloc[reporter] = False + gate = acs_local_take_up_signal_gate(_with_spm(frame, **{SNAP: donor_snap})) + assert gate.passed, gate.failures + donor = gate.details["per_spine"][ASEC_PUF_DONOR_SPINE] + assert donor["graded"] is False + assert donor["columns"][SNAP]["reporters_not_taking_up"] == 1 + assert gate.details["per_spine"][ACS_2024_1YR_SPINE]["graded"] is True + # Completeness still fails on the donor spine. + constant = acs_local_take_up_signal_gate( + _with_spm(frame, **{SNAP: spm_unit[SNAP].where(~asec, True)}) + ) + assert f"{ASEC_PUF_DONOR_SPINE}: {SNAP} is constant" in " ".join(constant.failures) + + +def test_gate_fails_on_missing_columns_tags_or_unknown_spines() -> None: + frame = _filled() + spm_unit = frame.table("spm_unit") + missing = acs_local_take_up_signal_gate( + _with_spm_table(frame, spm_unit.drop(columns=[TANF, "receives_snap"])) + ) + assert f"{ACS_2024_1YR_SPINE}: missing {TANF}." in missing.failures + assert any("reported-receipt anchor" in failure for failure in missing.failures) + untagged = acs_local_take_up_signal_gate( + _with_spm(frame, **{TAG: spm_unit[TAG].where(spm_unit.index > 0)}) + ) + assert untagged.failures == (f"Missing SPM-unit origin tags: {TAG}.",) + unknown = acs_local_take_up_signal_gate( + _with_spm(frame, **{TAG: spm_unit[TAG].where(spm_unit.index > 0, "other")}) + ) + assert "unsupported spine" in " ".join(unknown.failures) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_spine_blindness.py b/packages/microcosm-build/tests/engine_free/us/test_us_spine_blindness.py index 692633b854..25f763edd8 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_spine_blindness.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_spine_blindness.py @@ -100,6 +100,9 @@ # Legacy ACS-only under-15 modeled completion and read-only per-origin # hours release diagnostics; exact boundary functions are pinned below. "acs_local_hours.py", + # Legacy local-lane ACS-row SNAP/TANF take-up fill and per-origin + # take-up gate (#1019); exact boundary functions are pinned below. + "acs_local_take_up.py", # Owner-approved release boundary: exact raw ACS join and receipt. "acs_release_predictors.py", "base_pool.py", # Legacy late-spine assembly. @@ -232,6 +235,8 @@ "acs_inputs.py", # Legacy source-hours completion and release gate; outside the registry. "acs_local_hours.py", + # Legacy local-lane take-up fill and release gate; outside the registry. + "acs_local_take_up.py", "acs_multispine.py", "acs_pums.py", "acs_release_predictors.py", # Pinned release join; provenance owner. @@ -3421,6 +3426,37 @@ def test_acs_local_hours_provenance_is_limited_to_reviewed_boundaries() -> None: assert not _source_spine_accesses(ast.unparse(remaining)) +def test_acs_local_take_up_provenance_is_limited_to_reviewed_boundaries() -> None: + """Pin the ACS-row take-up fill and per-origin take-up gate (#1019).""" + + source = (_US_RUNTIME / "acs_local_take_up.py").read_text() + boundaries = ( + "acs_local_take_up_signal_gate", + "with_acs_local_take_up_inputs", + ) + assert ( + tuple( + sorted( + caller for caller, _line in _function_callers(source, "spine_column") + ) + ) + == boundaries + ) + tree = ast.parse(source) + remaining = ast.Module( + body=[ + node + for node in tree.body + if not ( + isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)) + and node.name in boundaries + ) + ], + type_ignores=[], + ) + assert not _source_spine_accesses(ast.unparse(remaining)) + + def test_physical_source_accessor_is_confined_to_reviewed_gates() -> None: """Origin-aware diagnostics must not become population treatments.""" diff --git a/tools/build_us_acs_local_release.py b/tools/build_us_acs_local_release.py index e58e127345..7dd87b6d8d 100644 --- a/tools/build_us_acs_local_release.py +++ b/tools/build_us_acs_local_release.py @@ -16,7 +16,9 @@ substitution -> state {usda_snap, cms_medicaid[enrollment], irs_soi}; ``--soi-mode state`` by default -- Build O's state-geography SOI contract -- with ``totals`` and ``full`` - as explicit opt-ins), run the household-chunked engine pass under the + as explicit opt-ins), seed ACS-row SNAP/TANF take-up + (microcosm#1019; the consumer export re-derives the same + flags), run the household-chunked engine pass under the nullable-artifact contract (input-schema projection + reviewed-null fill), add PUMA-ladder population marginals (state + congressional district), and write a lean float32 @@ -66,6 +68,12 @@ import pandas as pd from microcosm.build.us_runtime.acs_local_hours import acs_local_hours_signal_gate +from microcosm.build.us_runtime.acs_local_take_up import ( + ACS_LOCAL_TAKE_UP_COLUMNS, + ACS_LOCAL_TAKE_UP_GATE_NAME, + acs_local_take_up_signal_gate, + with_acs_local_take_up_inputs, +) _TOOLS_DIR = Path(__file__).resolve().parent _REPO_ROOT = _TOOLS_DIR.parent @@ -311,6 +319,18 @@ class UnregisteredNullError(ValueError): """NaN in an engine-input column NOT in reviewed_engine_input_nulls.""" +class DeniedDefaultFillError(ValueError): + """NaN in an engine input whose engine default must never be the fill.""" + + +#: Runtime-owned take-up draws. Their engine default, ``True``, is universal +#: take-up, so a missing cell is a build defect even when the staging register +#: lists the column (microcosm#1019); the ACS take-up stage fills them first. +NEVER_DEFAULT_FILLED = frozenset( + ("spm_unit", column) for column in ACS_LOCAL_TAKE_UP_COLUMNS +) + + def project_input_only(base_frame, period: int = PERIOD): """Hold back every non-input variable so FED SET == ENGINE INPUT SET. @@ -384,9 +404,22 @@ def fill_reviewed_nulls( Every registered (entity, column) has its NaN filled with the pe-us variable's own default; NaN in any engine-input column NOT in the register is a hard error with a per-spine diagnostic — an artifact - defect, surfaced not filled. + defect, surfaced not filled. NaN in a :data:`NEVER_DEFAULT_FILLED` + column is refused before anything is filled, registered or not. """ + denied = [ + f"{entity}.{column} ({int(frame.table(entity)[column].isna().sum())} null rows)" + for entity, column in sorted(NEVER_DEFAULT_FILLED) + if column in frame.table(entity) and frame.table(entity)[column].isna().any() + ] + if denied: + raise DeniedDefaultFillError( + "Refusing to default-fill runtime-owned take-up input(s) " + f"{'; '.join(denied)}: the engine default is universal take-up " + "(microcosm#1019). Run the ACS local take-up stage first." + ) + from policyengine_us import CountryTaxBenefitSystem from microcosm.build.us_runtime.base_pool import spine_column @@ -892,6 +925,40 @@ def _load_staging_frame(path: Path): return _load_base_frame(Path(path)) +def _with_local_take_up(frame, *, seed: int): + """Seed ACS-row SNAP/TANF take-up before any reviewed-null fill (#1019).""" + + frame, receipt = with_acs_local_take_up_inputs(frame, seed=seed) + for column, entry in receipt["programs"].items(): + log( + f"ACS take-up {column}: filled {entry['filled_rows']:,} rows, " + f"weighted ACS share {entry['weighted_take_up_share']:.3f}" + ) + return frame, receipt + + +def _recorded_take_up(identity: dict) -> dict: + """The ACS take-up assignment materialize calibrated against, or refuse. + + The consumer export re-derives the flags with the recorded seed and must + reproduce the recorded digest, so both engine passes see the same flags. + """ + + receipt = identity.get("acs_local_take_up") + if ( + not isinstance(receipt, dict) + or type(receipt.get("seed")) is not int + or not isinstance(receipt.get("assigned_sha256"), str) + ): + raise SystemExit( + "run_identity.json records no ACS local take-up assignment " + "(microcosm#1019): the checkpoint was materialized with every ACS " + "SPM unit default-filled to take up SNAP and TANF. Re-run --stage " + "materialize." + ) + return receipt + + def do_materialize(args) -> None: families = [item.strip() for item in args.families.split(",") if item.strip()] geographies = [item.strip() for item in args.geographies.split(",") if item.strip()] @@ -922,6 +989,7 @@ def do_materialize(args) -> None: ladder_sha = _sha256(args.ladder) frame = _load_staging_frame(args.staging_h5) _require_local_hours(frame, _load_json(summary_path)) + frame, take_up = _with_local_take_up(frame, seed=args.seed) log( f"loaded staging frame households={frame.n('household')} " f"({time.time() - started:.1f}s)" @@ -999,6 +1067,7 @@ def do_materialize(args) -> None: "declared_admin_specs": len(registry), "compiled_admin_specs": len(admin_names), "population_cells_dropped": pop_dropped, + "acs_local_take_up": take_up, }, indent=2, ) @@ -1051,6 +1120,8 @@ def do_calibrate(args) -> None: ) identity = _verify_run_identity(args) + # Refuse a pre-#1019 checkpoint before hours of solving, not at export. + _recorded_take_up(identity) checkpoint_h5 = args.checkpoint_dir / "target_frame_lean.h5" registry_path = args.checkpoint_dir / "target_registry.json" registry_sha = _sha256(registry_path) @@ -1243,8 +1314,16 @@ def _write_calibrated_artifact(args, weights: np.ndarray, identity: dict) -> Non from microcosm.frame import Frame, WeightKind, Weights + recorded_take_up = _recorded_take_up(identity) frame = _load_staging_frame(args.staging_h5) _require_local_hours(frame, _load_json(_staging_summary_path(args))) + frame, take_up = _with_local_take_up(frame, seed=recorded_take_up["seed"]) + if take_up["assigned_sha256"] != recorded_take_up["assigned_sha256"]: + raise SystemExit( + "The consumer export's ACS take-up assignment differs from the one " + "materialize calibrated against (microcosm#1019). Re-run --stage " + "materialize against this staging file." + ) staging_ids = frame.table("household")["household_id"].to_numpy() with pd.HDFStore(args.checkpoint_dir / "target_frame_lean.h5", mode="r") as store: lean_ids = store["household"]["household_id"].to_numpy() @@ -1291,6 +1370,7 @@ def _write_calibrated_artifact(args, weights: np.ndarray, identity: dict) -> Non "held_back_total": sum(len(v) for v in dropped.values()), "filled_columns": len(fills), "total_values_filled": sum(f["filled_rows"] for f in fills), + "acs_local_take_up": take_up, "note": ( "The engine-pass contract (input-schema projection + " "reviewed-null default fill) is applied to the published " @@ -1518,6 +1598,21 @@ def finalize_reviewed_limitations( ), "calibration_blocker": False, }, + { + "id": "acs_take_up_engine_defaults", + "status": "reviewed_known_gap", + "affected_spines": ["acs_2024_1yr"], + "reason": ( + "SNAP and TANF take-up on ACS rows are seeded by the local " + "runtime and gated by acs_local_take_up_signal " + "(microcosm#1019). The other runtime-owned takes_up_* flags " + "(EITC, ACA, Medicaid, SSI, Medicare, Head Start and the " + "rest) are neither transferred nor seeded on ACS rows, so " + "they ship at the engine default, universal take-up." + ), + "treatment": "Tracked via microcosm#1022.", + "calibration_blocker": False, + }, { "id": "cd_population_marginal_vintage_2020", "status": "reviewed_vintage", @@ -1656,6 +1751,10 @@ def do_finalize(args) -> None: hours_gate = us_hours_worked_signal_gate( frame, required_columns=US_HOURS_WORKED_POOL_OUTPUT_COLUMNS ) + # microcosm#1019: likewise refuse SNAP/TANF take-up that is missing or + # constant (the engine-default universal take-up) on either spine, or + # unanchored or out of band on the ACS spine this tool seeds. + take_up_gate = acs_local_take_up_signal_gate(frame) del frame gc.collect() if _sha256(args.out_h5) != hours_artifact_sha: @@ -1702,6 +1801,12 @@ def do_finalize(args) -> None: "detail": dict(hours_gate.details), "artifact_sha256": hours_artifact_sha, }, + ACS_LOCAL_TAKE_UP_GATE_NAME: { + "passed": bool(take_up_gate.passed), + "failures": list(take_up_gate.failures), + "detail": dict(take_up_gate.details), + "artifact_sha256": hours_artifact_sha, + }, "calibration": { # The cap criterion alone is near-tautological (the solver clips # per-row losses at the same cap); the solve must also have @@ -1741,7 +1846,11 @@ def do_finalize(args) -> None: "before transfer; the ACS spine inherits required inputs via " "QRF transfer. ACS native GQ-housing / source-universe nulls " "are reviewed_limitations (calibration_blocker: false) and " - "are NOT re-imposed on the ACS spine." + "are NOT re-imposed on the ACS spine. Take-up draws are not " + "transferred: ACS SNAP/TANF take-up is seeded by this tool " + "and gated by acs_local_take_up_signal (microcosm#1019); the " + "other ACS take-up flags are the reviewed limitation " + "acs_take_up_engine_defaults (microcosm#1022)." ), }, "spine_composition": { @@ -1789,6 +1898,7 @@ def do_finalize(args) -> None: "us_puma_ladder_gate", "hours_worked_signal", "acs_local_hours_signal", + ACS_LOCAL_TAKE_UP_GATE_NAME, "calibration", "consumer_ready", ) @@ -2005,6 +2115,19 @@ def do_package(args) -> dict: "certifies different H5 bytes. Re-run --stage finalize against the " "current artifact." ) + # microcosm#1019: a report finalized before the take-up gate existed (or + # against other bytes) cannot vouch for the packaged ACS take-up surface. + take_up_gate = gates.get(ACS_LOCAL_TAKE_UP_GATE_NAME) + if ( + not isinstance(take_up_gate, dict) + or take_up_gate.get("passed") is not True + or take_up_gate.get("artifact_sha256") != h5_sha + ): + raise SystemExit( + f"Packaging requires a present, passing {ACS_LOCAL_TAKE_UP_GATE_NAME} " + "gate bound to the packaged H5; an old simulation_ready summary is " + "insufficient. Re-run --stage finalize against the current artifact." + ) # Old summaries can say simulation_ready despite #765. Recheck the # actual artifact and the source-null evidence before packaging it, and # bind that result to the bytes being packaged: the finalize-time report From 9383e4c944c96db4111ba71395ff1b585dbd6bea Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Fri, 2 Oct 2026 09:23:49 -0400 Subject: [PATCH 02/67] Report TANF receipt overlap and SNAP take-up among eligible units (#1051 review) Both measures are informational and never graded. - acs_local_take_up: the TANF program receipt gains receipt_crosstab, a weighted 2x2 of transferred receives_tanf by assigned takes_up_tanf_if_eligible on ACS units, with the weighted share of receives_tanf units that drew False. The TANF draw stays independent of receipt; recording the table leaves the assignment digest unchanged. - Release tool do_qa: the chunked engine probe now reads the SNAP variables in the same engine pass as SSI and writes snap_take_up_among_eligible to spine_qa.json: take-up and positive-benefit rates among is_snap_eligible SPM units, overall, by household type (elderly or disabled, with children, childless adults, with earnings; overlapping), by spine and type, and by state. - Tests: hand-checked cross-tab cells and share; a two-chunk do_qa run with a stub engine checks every rate; an empty eligible set reports None. Co-Authored-By: Claude Opus 5.5 --- changelog.d/1019-acs-local-take-up.fixed.md | 2 +- .../build/us_runtime/acs_local_take_up.py | 71 ++++++- .../us/test_us_acs_local_release_tool.py | 113 ++++++++++ .../us/test_us_acs_local_take_up.py | 51 +++++ tools/build_us_acs_local_release.py | 193 +++++++++++++++++- 5 files changed, 417 insertions(+), 13 deletions(-) diff --git a/changelog.d/1019-acs-local-take-up.fixed.md b/changelog.d/1019-acs-local-take-up.fixed.md index 17e6be0255..a19d345d52 100644 --- a/changelog.d/1019-acs-local-take-up.fixed.md +++ b/changelog.d/1019-acs-local-take-up.fixed.md @@ -1 +1 @@ -Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). +Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). Two informational measures are recorded and not graded: the take-up receipt cross-tabs transferred `receives_tanf` against the independent TANF draw, and the QA probe reports SNAP take-up among engine-eligible SPM units by spine, state and household type. diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/acs_local_take_up.py b/packages/microcosm-build/src/microcosm/build/us_runtime/acs_local_take_up.py index 827dc835a4..82c53c80d9 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/acs_local_take_up.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/acs_local_take_up.py @@ -16,7 +16,10 @@ participation rate of the ``snap_take_up`` manifest stage. - TANF uses the take-up contract's seeded Bernoulli draw at its administrative rate, with no receipt anchor, exactly as the contract seeds - it elsewhere. + it elsewhere. Because the draw is independent of the transferred + ``receives_tanf``, the receipt cross-tabs the two on ACS units and reports + the weighted share of TANF reporters that drew ``False`` (informational, + never graded). Draws come from :func:`~microcosm.build.us_runtime.take_up._stable_unit_draws`, which keys a unit without complete source identity on its own ids, so the @@ -79,6 +82,9 @@ _ID_COLUMN = "spm_unit_id" #: Reported (on ACS rows, QRF-transferred) SNAP receipt: the survey anchor. _REPORTED_SNAP_COLUMN = "receives_snap" +#: Reported (on ACS rows, QRF-transferred) TANF receipt. It is not an anchor +#: for the TANF draw; the receipt only cross-tabs it against that draw. +_REPORTED_TANF_COLUMN = "receives_tanf" _SNAP_OPERATION = "derive_snap_take_up" _SHARE_BANDS: dict[str, tuple[float, float]] = { US_SNAP_TAKE_UP_OUTPUT_COLUMN: _SNAP_TAKE_UP_SHARE_BAND, @@ -129,6 +135,68 @@ def _share(weights: np.ndarray, flags: np.ndarray) -> float: return float(weights[flags].sum()) / total if total > 0 else 0.0 +def _tanf_receipt_crosstab( + spm_unit: pd.DataFrame, weights: np.ndarray +) -> dict[str, object]: + """Transferred ``receives_tanf`` by assigned TANF take-up (informational). + + TANF take-up is the contract's Bernoulli draw with no receipt anchor, so + a unit with transferred ``receives_tanf`` can draw ``False``. This + weighted 2x2 table over the given (ACS) units measures that overlap, and + ``receives_tanf_drew_false_share`` is the weighted share of reporters + without take-up. Missing receipt cells read as non-reporters. It is + recorded for review (microcosm#1051), never graded. + """ + if _REPORTED_TANF_COLUMN not in spm_unit: + return { + "available": False, + "graded": False, + "reason": f"spm_unit carries no {_REPORTED_TANF_COLUMN} column", + } + reports, reports_present = _flags(spm_unit[_REPORTED_TANF_COLUMN]) + takes_up = _flags(spm_unit[US_TANF_TAKE_UP_OUTPUT_COLUMN])[0] + total = float(weights.sum()) + cells: dict[str, dict[str, object]] = {} + for report_label, report_mask in ( + ("receives_tanf", reports), + ("no_receives_tanf", ~reports), + ): + for take_label, take_mask in ( + ("takes_up", takes_up), + ("no_take_up", ~takes_up), + ): + cell = report_mask & take_mask + weight = float(weights[cell].sum()) + cells[f"{report_label}__{take_label}"] = { + "units": int(cell.sum()), + "weight": weight, + "weight_share": weight / total if total > 0 else 0.0, + } + reporter_weight = float(weights[reports].sum()) + drew_false = reports & ~takes_up + return { + "available": True, + "graded": False, + "units": int(len(reports)), + "weight": total, + "missing_receipt_rows_as_non_reporters": int((~reports_present).sum()), + "cells": cells, + "receives_tanf_units": int(reports.sum()), + "receives_tanf_weight": reporter_weight, + "receives_tanf_drew_false_units": int(drew_false.sum()), + "receives_tanf_drew_false_share": ( + float(weights[drew_false].sum()) / reporter_weight + if reporter_weight > 0 + else None + ), + "note": ( + "TANF take-up is drawn independently of the transferred " + "receives_tanf (the take-up contract has no TANF receipt anchor); " + "this table measures the overlap and is not graded." + ), + } + + def _assignment_sha256(spm_unit: pd.DataFrame, rows: np.ndarray) -> str: """Digest of the ACS rows' ids and flags, to prove two passes agree.""" selected = pd.DataFrame( @@ -274,6 +342,7 @@ def with_acs_local_take_up_inputs( acs_weights, _flags(final.loc[acs, US_TANF_TAKE_UP_OUTPUT_COLUMN])[0], ), + "receipt_crosstab": _tanf_receipt_crosstab(final.loc[acs], acs_weights), }, }, "assigned_sha256": _assignment_sha256(final, acs), diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py index b956656174..13ee000fd6 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py @@ -166,6 +166,119 @@ def test_spine_composition_reports_per_spine_weight_and_size() -> None: ) +def test_do_qa_reports_snap_take_up_among_eligible_units(tmp_path, monkeypatch): + """#1051 review: informational SNAP take-up by spine, state and type. + + Six one-person households (household = SPM unit), weights 1..6, probed in + two chunks. Units 1, 2, 3, 5 and 6 are eligible (weight 17); 1, 3 and 6 + take up (10), and 1 and 3 receive a positive benefit (4). + """ + + from microcosm.build.us_runtime.base_pool import spine_column + from microcosm.frame import US_SCHEMA, Frame, WeightKind, Weights + from microcosm.frame.adapters import policyengine_us as adapter_module + + module = _load_tool_module() + ids = np.arange(1, 7) + spines = ["asec_puf"] * 2 + ["acs_2024_1yr"] * 4 + person = pd.DataFrame({"person_id": ids, spine_column("person"): spines}) + tables = {"person": person} + for entity in US_SCHEMA.entities: + if entity != "person": + person[f"person_{entity}_id"] = ids + tables[entity] = pd.DataFrame({f"{entity}_id": ids}) + tables["household"]["_state"] = ["CA", "CA", "TX", "TX", "CA", "TX"] + tables["spm_unit"] = tables["spm_unit"].assign( + **{ + spine_column("spm_unit"): spines, + "takes_up_snap_if_eligible": [True, False, True, True, False, True], + "_eligible": [True, True, True, False, True, True], + "_snap": [100.0, 0.0, 50.0, 0.0, 0.0, 0.0], + "_elderly_or_disabled": [False, True, False, False, False, True], + "_children": [0, 0, 2, 1, 0, 0], + "_earned": [0.0, 10.0, 20.0, 0.0, 0.0, 0.0], + } + ) + frame = Frame( + tables, + US_SCHEMA, + {"household": Weights(ids.astype(np.float64), WeightKind.CALIBRATED)}, + ) + calls: list[tuple[str, ...]] = [] + + class _Engine: + def materialize(self, sub_frame, variables, period): + calls.append(tuple(variables)) + spm = sub_frame.table("spm_unit") + return { + "ssi": np.zeros(sub_frame.n("person")), + "is_snap_eligible": spm["_eligible"].to_numpy(), + "takes_up_snap_if_eligible": spm[ + "takes_up_snap_if_eligible" + ].to_numpy(), + "snap": spm["_snap"].to_numpy(), + "has_usda_elderly_disabled": spm["_elderly_or_disabled"].to_numpy(), + "spm_unit_count_children": spm["_children"].to_numpy(), + "snap_earned_income": spm["_earned"].to_numpy(), + "state_code_str": sub_frame.table("household")["_state"].to_numpy(), + } + + monkeypatch.setattr(adapter_module, "PolicyEngineUSEngine", _Engine) + monkeypatch.setattr(module, "_load_staging_frame", lambda *_a, **_k: frame) + monkeypatch.setattr(module, "_sha256", lambda *_a, **_k: "artifact-sha") + args = SimpleNamespace( + out_h5=tmp_path / "calibrated.h5", hh_chunk=4, checkpoint_dir=tmp_path + ) + module.do_qa(args) + + # One engine pass per chunk reads SSI and the SNAP variables together. + assert len(calls) == 2 + assert set(calls[0]) == {"ssi", "state_code_str", *module._QA_SNAP_VARIABLES} + payload = json.loads((tmp_path / "spine_qa.json").read_text()) + assert set(payload["per_spine"]) == {"asec_puf", "acs_2024_1yr"} + table = payload["snap_take_up_among_eligible"] + assert table["graded"] is False + + def rates(cell): + return ( + cell["eligible_units"], + cell["eligible_weight"], + pytest.approx(cell["take_up_rate"]), + ) + + overall = table["all"] + assert rates(overall) == (5, 17.0, pytest.approx(10 / 17)) + assert overall["receiving_rate"] == pytest.approx(4 / 17) + assert {k: rates(v) for k, v in table["by_household_type"].items()} == { + "elderly_or_disabled": (2, 8.0, pytest.approx(0.75)), + "with_children": (1, 3.0, pytest.approx(1.0)), + "childless_adults": (2, 6.0, pytest.approx(1 / 6)), + "with_earnings": (2, 5.0, pytest.approx(0.6)), + } + assert rates(table["by_spine"]["asec_puf"]["all"]) == (2, 3.0, pytest.approx(1 / 3)) + acs = table["by_spine"]["acs_2024_1yr"] + assert rates(acs["all"]) == (3, 14.0, pytest.approx(9 / 14)) + assert rates(acs["by_household_type"]["childless_adults"]) == ( + 1, + 5.0, + pytest.approx(0.0), + ) + assert {k: rates(v) for k, v in table["by_state"].items()} == { + "CA": (3, 8.0, pytest.approx(1 / 8)), + "TX": (2, 9.0, pytest.approx(1.0)), + } + + +def test_snap_take_up_among_eligible_handles_no_eligible_units() -> None: + module = _load_tool_module() + empty = pd.DataFrame(columns=list(module._QA_SNAP_UNIT_COLUMNS)) + table = module.snap_take_up_among_eligible(empty) + assert table["all"]["eligible_units"] == 0 + assert table["all"]["take_up_rate"] is None + assert table["by_spine"] == {} + assert table["by_state"] == {} + + def test_finalize_reviewed_limitations_carries_staging_and_dedupes() -> None: module = _load_tool_module() staging_summary = { diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_take_up.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_take_up.py index 3497e67245..805e6d05bf 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_take_up.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_take_up.py @@ -158,6 +158,57 @@ def test_weighted_acs_shares_land_on_the_manifest_and_contract_rates() -> None: assert tanf_share == pytest.approx(float(program.rate["value"]), abs=0.03) +def test_receipt_cross_tabs_transferred_tanf_receipt_against_the_draw() -> None: + """#1051 review: the TANF draw ignores receives_tanf; the receipt measures it.""" + + frame = _frame() + acs = _acs(frame) + receives_tanf = np.random.default_rng(11).random(len(acs)) < 0.05 + with_receipt = _with_spm(frame, receives_tanf=receives_tanf) + result, receipt = with_acs_local_take_up_inputs(with_receipt, seed=5) + table = receipt["programs"][TANF]["receipt_crosstab"] + weights = np.asarray(frame.weights_for("household").values)[acs] + reports = receives_tanf[acs] + takes_up = result.table("spm_unit").loc[acs, TANF].to_numpy(dtype=bool) + assert table["available"] is True + assert table["graded"] is False + assert table["units"] == int(acs.sum()) + assert table["missing_receipt_rows_as_non_reporters"] == 0 + expected = { + "receives_tanf__takes_up": reports & takes_up, + "receives_tanf__no_take_up": reports & ~takes_up, + "no_receives_tanf__takes_up": ~reports & takes_up, + "no_receives_tanf__no_take_up": ~reports & ~takes_up, + } + assert set(table["cells"]) == set(expected) + for label, cell in expected.items(): + assert table["cells"][label]["units"] == int(cell.sum()) + assert table["cells"][label]["weight"] == pytest.approx(weights[cell].sum()) + assert table["cells"][label]["weight_share"] == pytest.approx( + weights[cell].sum() / weights.sum() + ) + assert table["receives_tanf_units"] == int(reports.sum()) + assert table["receives_tanf_drew_false_units"] == int((reports & ~takes_up).sum()) + assert table["receives_tanf_drew_false_share"] == pytest.approx( + weights[reports & ~takes_up].sum() / weights[reports].sum() + ) + # The draw is independent of receipt, so most reporters draw False at the + # contract's sub-0.5 rate, but not all of them. + assert 0 < table["receives_tanf_drew_false_units"] < table["receives_tanf_units"] + # Recording the table changes nothing in the assignment. + _, plain = with_acs_local_take_up_inputs(frame, seed=5) + assert plain["assigned_sha256"] == receipt["assigned_sha256"] + + +def test_receipt_crosstab_reports_an_absent_receives_tanf() -> None: + _, receipt = with_acs_local_take_up_inputs(_frame(), seed=0) + assert receipt["programs"][TANF]["receipt_crosstab"] == { + "available": False, + "graded": False, + "reason": "spm_unit carries no receives_tanf column", + } + + def test_assignment_is_deterministic_in_the_seed() -> None: first, first_receipt = with_acs_local_take_up_inputs(_frame(), seed=11) again, again_receipt = with_acs_local_take_up_inputs(_frame(), seed=11) diff --git a/tools/build_us_acs_local_release.py b/tools/build_us_acs_local_release.py index 7dd87b6d8d..31b32b09bb 100644 --- a/tools/build_us_acs_local_release.py +++ b/tools/build_us_acs_local_release.py @@ -1424,13 +1424,156 @@ def spine_composition(households: pd.DataFrame, persons: pd.DataFrame, weights): return composition -def do_qa(args) -> None: - """Chunked engine probe: per-spine SSI incidence on the calibrated artifact. +#: Engine variables the QA probe reads to report SNAP take-up among +#: engine-eligible SPM units (microcosm#1051 review). Informational only. +_QA_SNAP_VARIABLES: tuple[str, ...] = ( + "is_snap_eligible", + "takes_up_snap_if_eligible", + "snap", + "has_usda_elderly_disabled", + "spm_unit_count_children", + "snap_earned_income", +) +#: Household types of the SNAP take-up table. They overlap (a unit with +#: children and earnings is in both); ``childless_adults`` units have neither +#: children nor an elderly or disabled member. +_QA_SNAP_HOUSEHOLD_TYPES: tuple[str, ...] = ( + "elderly_or_disabled", + "with_children", + "childless_adults", + "with_earnings", +) +_QA_SNAP_UNIT_COLUMNS: tuple[str, ...] = ( + "spine", + "state", + "weight", + "takes_up", + "receives", + *_QA_SNAP_HOUSEHOLD_TYPES, +) + + +def _qa_snap_eligible_units( + sub_frame, + values, + *, + household_weights: np.ndarray, + position_by_id: pd.Series, +) -> pd.DataFrame: + """One row per engine-eligible SPM unit of a QA chunk. + + Each row carries the unit's spine, state, household weight, stored + take-up flag, whether its modeled ``snap`` is positive, and the + household-type flags of :data:`_QA_SNAP_HOUSEHOLD_TYPES`. + """ + + from microcosm.build.us_runtime.base_pool import spine_column + + person = sub_frame.table("person") + spm_unit = sub_frame.table("spm_unit") + unit_household = ( + pd.Series( + person["person_household_id"].to_numpy(), + index=person["person_spm_unit_id"].to_numpy(), + ) + .groupby(level=0) + .first() + .reindex(spm_unit["spm_unit_id"].to_numpy()) + ) + if unit_household.isna().any(): + raise ValueError("QA: an SPM unit has no member person.") + household_ids = unit_household.to_numpy() + positions = position_by_id.reindex(household_ids).to_numpy() + state = ( + pd.Series( + np.asarray(values["state_code_str"]).astype(str), + index=sub_frame.table("household")["household_id"].to_numpy(), + ) + .reindex(household_ids) + .to_numpy() + ) + tag = spine_column("spm_unit") + spine = ( + spm_unit[tag].astype(str).to_numpy() + if tag in spm_unit + else np.full(len(spm_unit), "unknown") + ) + children = np.asarray(values["spm_unit_count_children"], dtype=np.float64) > 0 + elderly_or_disabled = np.asarray(values["has_usda_elderly_disabled"], dtype=bool) + units = pd.DataFrame( + { + "spine": spine, + "state": state, + "weight": household_weights[positions.astype(np.int64)], + "takes_up": np.asarray(values["takes_up_snap_if_eligible"], dtype=bool), + "receives": np.asarray(values["snap"], dtype=np.float64) > 0, + "elderly_or_disabled": elderly_or_disabled, + "with_children": children, + "childless_adults": ~children & ~elderly_or_disabled, + "with_earnings": ( + np.asarray(values["snap_earned_income"], dtype=np.float64) > 0 + ), + }, + columns=list(_QA_SNAP_UNIT_COLUMNS), + ) + eligible = np.asarray(values["is_snap_eligible"], dtype=np.float64) > 0 + return units.loc[eligible].reset_index(drop=True) + - Loads the packaged artifact bytes PLAIN — no private projection or fill — - so the probe doubles as the proof that ordinary - ``USSingleYearDataset``/``Microsimulation`` consumers can load the file - (the engine-pass contract was applied at export). +def snap_take_up_among_eligible(units: pd.DataFrame) -> dict[str, object]: + """Weighted SNAP take-up among engine-eligible SPM units (informational). + + ``units`` holds one row per eligible unit (:func:`_qa_snap_eligible_units`). + ``take_up_rate`` is the eligible weight whose stored + ``takes_up_snap_if_eligible`` is true over all eligible weight, the + quantity FNS participation rates measure; ``receiving_rate`` counts a + positive modeled benefit instead. Reported overall, by household type, + by spine (and type), and by state. Never graded (microcosm#1051 review). + """ + + def cell(rows: pd.DataFrame) -> dict[str, object]: + weights = rows["weight"].to_numpy(dtype=np.float64) + weight = float(weights.sum()) + taking_up = float(weights[rows["takes_up"].to_numpy(dtype=bool)].sum()) + receiving = float(weights[rows["receives"].to_numpy(dtype=bool)].sum()) + return { + "eligible_units": int(len(rows)), + "eligible_weight": weight, + "take_up_weight": taking_up, + "take_up_rate": taking_up / weight if weight > 0 else None, + "receiving_weight": receiving, + "receiving_rate": receiving / weight if weight > 0 else None, + } + + def by_type(rows: pd.DataFrame) -> dict[str, object]: + return { + kind: cell(rows.loc[rows[kind].to_numpy(dtype=bool)]) + for kind in _QA_SNAP_HOUSEHOLD_TYPES + } + + return { + "graded": False, + "all": cell(units), + "by_household_type": by_type(units), + "by_spine": { + str(spine): {"all": cell(rows), "by_household_type": by_type(rows)} + for spine, rows in units.groupby("spine", sort=True) + }, + "by_state": { + str(state): cell(rows) for state, rows in units.groupby("state", sort=True) + }, + } + + +def do_qa(args) -> None: + """Chunked engine probe on the calibrated artifact. + + Records per-spine SSI incidence and, informationally, SNAP take-up among + engine-eligible SPM units by spine, state and household type + (microcosm#1051 review). Loads the packaged artifact bytes PLAIN — no + private projection or fill — so the probe doubles as the proof that + ordinary ``USSingleYearDataset``/``Microsimulation`` consumers can load + the file (the engine-pass contract was applied at export). """ from microcosm.build.us_runtime.base_pool import spine_column @@ -1451,14 +1594,23 @@ def do_qa(args) -> None: adapter = PolicyEngineUSEngine() per_spine: dict[str, dict[str, float]] = {} + snap_units: list[pd.DataFrame] = [] n_chunks = (n_households + args.hh_chunk - 1) // args.hh_chunk for chunk_index, low in enumerate(range(0, n_households, args.hh_chunk)): high = min(low + args.hh_chunk, n_households) mask = (person_position >= low) & (person_position < high) sub_frame = projected.select(mask) - ssi = np.asarray( - adapter.materialize(sub_frame, ["ssi"], PERIOD)["ssi"], - dtype=np.float64, + values = adapter.materialize( + sub_frame, ["ssi", *_QA_SNAP_VARIABLES, "state_code_str"], PERIOD + ) + ssi = np.asarray(values["ssi"], dtype=np.float64) + snap_units.append( + _qa_snap_eligible_units( + sub_frame, + values, + household_weights=household_weights, + position_by_id=position_by_id, + ) ) sub_person_household = sub_frame.table("person")[ "person_household_id" @@ -1482,7 +1634,7 @@ def do_qa(args) -> None: entry["ssi_dollars"] += float( (ssi[recipients] * person_weight[recipients]).sum() ) - del sub_frame + del sub_frame, values gc.collect() log(f"qa chunk {chunk_index + 1}/{n_chunks}") @@ -1499,11 +1651,30 @@ def do_qa(args) -> None: "artifact_sha256": _sha256(args.out_h5), "plain_consumption": True, "per_spine": per_spine, + "snap_take_up_among_eligible": { + "issue": "microcosm#1051 review", + "definition": ( + "SPM units with is_snap_eligible for the period (PolicyEngine " + "reads a monthly boolean at a year period as its last month); " + "take_up_rate = weighted share of those units whose stored " + "takes_up_snap_if_eligible is true; receiving_rate = weighted " + "share with positive modeled snap. Household types overlap; " + "childless_adults have no children and no elderly or " + "disabled member." + ), + **snap_take_up_among_eligible( + pd.concat(snap_units, ignore_index=True) + if snap_units + else pd.DataFrame(columns=list(_QA_SNAP_UNIT_COLUMNS)) + ), + }, "note": ( "microcosm#403 re-measure: per-spine SSI incidence and intensity, " "computed by loading the packaged artifact bytes PLAIN (no " "private projection or fill) — the probe doubles as the " - "consumer-loadability proof. Recorded as evidence, not gated." + "consumer-loadability proof. SNAP take-up among engine-eligible " + "units is reported alongside (microcosm#1051 review). Recorded " + "as evidence, not gated." ), } (args.checkpoint_dir / "spine_qa.json").write_text(json.dumps(payload, indent=2)) From f8da490b0a1f51b5ab50a4aae961f23473a626af Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Mon, 5 Oct 2026 16:13:17 -0400 Subject: [PATCH 03/67] Gate the successor pool on engine-defaulted SNAP take-up (#1051 review) The multispine pool's seed stage (the successor builder) still gives a missing takes_up_snap_if_eligible cell the engine default, universal take-up, because its spine-blind take-up contract has no SNAP seed. Its output is now refused before release. - h5_io: us_multispine_pool_defaulted_take_up_failures reads the seed stage's receipt (stage_receipts.seed.programs..defaulted_rows) for US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP (takes_up_snap_if_eligible). A positive count, a programs block without the variable, or a malformed count fails. It reads receipt counts only, so it stays spine-blind; a seed receipt with no programs block (not written by the seed stage) is not evaluated. - Both release loaders (load_simulation_ready_us_multispine_pool, used by the fiscal refresh release builder, and load_authenticated_us_multispine_pool_for_release, used by --base-h5 and release preflight) refuse such a pool. The scoring-only loader still loads it as evidence. - The multispine_pool TODO(microcosm#1019) now points at the gate; the changelog fragment says so. - Tests: both release loaders refuse a pool with 3 defaulted cells and load it at 0; the scoring loader keeps it; the receipt reader's missing, malformed and negative cases. Co-Authored-By: Claude Opus 5.5 --- changelog.d/1019-acs-local-take-up.fixed.md | 2 +- .../src/microcosm/build/us_runtime/h5_io.py | 66 ++++++++++++++ .../build/us_runtime/multispine_pool.py | 3 + .../us/test_us_multispine_pool_h5_io.py | 90 +++++++++++++++++++ 4 files changed, 160 insertions(+), 1 deletion(-) diff --git a/changelog.d/1019-acs-local-take-up.fixed.md b/changelog.d/1019-acs-local-take-up.fixed.md index a19d345d52..4d9dcd064c 100644 --- a/changelog.d/1019-acs-local-take-up.fixed.md +++ b/changelog.d/1019-acs-local-take-up.fixed.md @@ -1 +1 @@ -Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). Two informational measures are recorded and not graded: the take-up receipt cross-tabs transferred `receives_tanf` against the independent TANF draw, and the QA probe reports SNAP take-up among engine-eligible SPM units by spine, state and household type. +Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). Two informational measures are recorded and not graded: the take-up receipt cross-tabs transferred `receives_tanf` against the independent TANF draw, and the QA probe reports SNAP take-up among engine-eligible SPM units by spine, state and household type. The successor multispine pool still gives missing SNAP take-up cells the engine default, so its release loaders now refuse a pool whose seed receipt reports any engine-defaulted `takes_up_snap_if_eligible` cell; scoring evidence stays loadable. diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/h5_io.py b/packages/microcosm-build/src/microcosm/build/us_runtime/h5_io.py index 48b87cb2bc..fc62241cf4 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/h5_io.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/h5_io.py @@ -74,6 +74,7 @@ "US_MULTISPINE_POOL_H5_ARTIFACT_KIND", "US_MULTISPINE_POOL_MANIFEST_ARTIFACT_KIND", "US_MULTISPINE_POOL_MANIFEST_SCHEMA_VERSION", + "US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP", "US_STACKED_POOL_OPERATOR_ORDER", "identify_us_multispine_pool_manifest", "load_authenticated_us_multispine_pool_for_release", @@ -83,6 +84,7 @@ "load_simulation_ready_us_multispine_pool_manifest", "read_nullable_us_h5_metadata", "require_authenticated_us_multispine_pool_h5", + "us_multispine_pool_defaulted_take_up_failures", "us_multispine_pool_release_receipt", "write_nullable_us_h5", ] @@ -2050,6 +2052,62 @@ def _stacked_late_transition_binding( return dag, derived_authority, observed_sha256 +#: Take-up variables whose engine-defaulted cells block a pool release +#: (microcosm#1019, #1051 review). The pool's seed stage gives a missing +#: ``takes_up_snap_if_eligible`` cell the installed engine's default, which is +#: universal take-up, because its spine-blind take-up contract has no SNAP +#: seed yet (the legacy ACS local lane seeds it in ``acs_local_take_up``). +US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP: tuple[str, ...] = ( + "takes_up_snap_if_eligible", +) + + +def us_multispine_pool_defaulted_take_up_failures( + manifest: Mapping[str, object], +) -> list[str]: + """Release-blocking engine-defaulted take-up recorded by the seed stage. + + ``build_us_multispine_pool.py`` records, per take-up variable, how many + cells its seed stage filled with the engine default + (``stage_receipts.seed.programs..defaulted_rows``). For each + variable in :data:`US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP` + a positive count fails: those units would take the program up whenever + eligible. The check reads receipt counts only, so it stays spine-blind. + A ``programs`` block that omits a blocking variable, or a malformed + count, also fails. A seed receipt with no ``programs`` block at all (not + written by the seed stage) records no take-up provenance and is not + evaluated. Returns one line per failure; empty means releasable. + """ + + stage_receipts = manifest.get("stage_receipts") + seed = stage_receipts.get("seed") if isinstance(stage_receipts, Mapping) else None + programs = seed.get("programs") if isinstance(seed, Mapping) else None + if programs is None: + return [] + if not isinstance(programs, Mapping): + return ["stage_receipts.seed.programs is not an object."] + failures: list[str] = [] + for variable in US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP: + entry = programs.get(variable) + if not isinstance(entry, Mapping): + failures.append(f"the seed receipt records no {variable!r} provenance.") + continue + defaulted = entry.get("defaulted_rows") + if isinstance(defaulted, bool) or not isinstance(defaulted, int): + failures.append( + f"{variable!r} defaulted_rows is not an integer: {defaulted!r}." + ) + elif defaulted < 0: + failures.append(f"{variable!r} defaulted_rows is negative: {defaulted}.") + elif defaulted > 0: + failures.append( + f"{defaulted} {variable!r} cell(s) carry the engine default " + "(universal take-up among eligible units); a receipt-anchored " + "seed must replace it before release (microcosm#1019)." + ) + return failures + + def load_simulation_ready_us_multispine_pool( path: str | Path, *, @@ -2158,6 +2216,14 @@ def _load_us_multispine_pool( f"US multispine pool manifest {manifest_path} has no passing " "agreement-gate verdict." ) + if not scoring_only: + # Release boundary (both release loaders; scoring evidence is exempt). + take_up_failures = us_multispine_pool_defaulted_take_up_failures(manifest) + if take_up_failures: + raise ValueError( + f"US multispine pool manifest {manifest_path} is not releasable: " + + " ".join(take_up_failures) + ) pool_path = authenticated_pool_h5.path metadata = read_nullable_us_h5_metadata(pool_path) diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py b/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py index d3a97098f5..28cabc6fbf 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py @@ -3127,6 +3127,9 @@ def seed_multispine_pool_inputs( # take-up. The legacy local lane seeds them in acs_local_take_up; # this module must stay spine-blind, so the fix here needs a # spine-blind receipt-anchored SNAP seed and a contract change. + # Until then the release loaders in h5_io refuse a pool whose + # receipt reports such cells + # (us_multispine_pool_defaulted_take_up_failures). if program.variable not in defaults: raise ValueError( "PolicyEngine exposes no input default for take-up variable " diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_multispine_pool_h5_io.py b/packages/microcosm-build/tests/engine_free/us/test_us_multispine_pool_h5_io.py index 900ee24d41..76d18abd2a 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_multispine_pool_h5_io.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_multispine_pool_h5_io.py @@ -47,6 +47,7 @@ load_authenticated_us_multispine_pool_for_scoring, load_simulation_ready_us_multispine_pool, require_authenticated_us_multispine_pool_h5, + us_multispine_pool_defaulted_take_up_failures, us_multispine_pool_release_receipt, write_nullable_us_h5, ) @@ -1775,6 +1776,95 @@ def test_ready_pool_loader_requires_explicitly_green_agreement_receipt( load_simulation_ready_us_multispine_pool(manifest_path) +def _with_seed_snap_take_up(manifest_path: Path, defaulted_rows: object) -> None: + manifest = json.loads(manifest_path.read_text(encoding="utf-8")) + manifest["stage_receipts"]["seed"]["programs"] = { + "takes_up_snap_if_eligible": { + "provenance_kind": "preserved_input_or_disclosed_engine_default", + "defaulted_rows": defaulted_rows, + } + } + manifest_path.write_text(json.dumps(manifest), encoding="utf-8") + + +def test_release_loaders_refuse_engine_defaulted_snap_take_up( + tmp_path: Path, +) -> None: + """#1051 review: the successor pool is gated before its output is released.""" + + pytest.importorskip("tables") + manifest_path = _write_ready_pool(tmp_path) + _with_seed_snap_take_up(manifest_path, 3) + + with pytest.raises(ValueError, match="not releasable: 3 'takes_up_snap"): + load_simulation_ready_us_multispine_pool(manifest_path) + with pytest.raises(ValueError, match="carry the engine default"): + load_authenticated_us_multispine_pool_for_release( + manifest_path, + allow_terminal_gate_failure=False, + ) + + _with_seed_snap_take_up(manifest_path, 0) + frame, _, _ = load_simulation_ready_us_multispine_pool(manifest_path) + assert frame.n("household") == 3 + + +def test_scoring_loader_keeps_engine_defaulted_snap_pool_as_evidence( + tmp_path: Path, +) -> None: + pytest.importorskip("tables") + manifest_path = _write_gate_failed_pool(tmp_path) + manifest = json.loads(manifest_path.read_text(encoding="utf-8")) + manifest["stage_receipts"]["seed"] = { + "programs": {"takes_up_snap_if_eligible": {"defaulted_rows": 3}} + } + manifest_path.write_text(json.dumps(manifest), encoding="utf-8") + + with pytest.raises(ValueError, match="not releasable"): + load_authenticated_us_multispine_pool_for_release( + manifest_path, + allow_terminal_gate_failure=True, + ) + frame, loaded_manifest, _ = load_authenticated_us_multispine_pool_for_scoring( + manifest_path + ) + assert frame.n("household") == 3 + assert loaded_manifest["status"] == "gate_failed" + + +def test_defaulted_take_up_failures_read_the_seed_receipt_counts() -> None: + def manifest(programs: object) -> dict[str, object]: + return {"stage_receipts": {"seed": {"operator": "seed", "programs": programs}}} + + snap = "takes_up_snap_if_eligible" + assert us_multispine_pool_defaulted_take_up_failures({}) == [] + assert ( + us_multispine_pool_defaulted_take_up_failures( + {"stage_receipts": {"seed": {"operator": "seed"}}} + ) + == [] + ) + assert ( + us_multispine_pool_defaulted_take_up_failures( + manifest({snap: {"defaulted_rows": 0}}) + ) + == [] + ) + (line,) = us_multispine_pool_defaulted_take_up_failures( + manifest({snap: {"defaulted_rows": 12}}) + ) + assert line.startswith("12 'takes_up_snap_if_eligible' cell(s)") + for programs, fragment in ( + ({}, "records no 'takes_up_snap_if_eligible' provenance"), + ({snap: {"defaulted_rows": True}}, "is not an integer"), + ({snap: {"defaulted_rows": 1.0}}, "is not an integer"), + ({snap: {"defaulted_rows": -1}}, "is negative"), + ([], "programs is not an object"), + ): + (line,) = us_multispine_pool_defaulted_take_up_failures(manifest(programs)) + assert fragment in line + + def test_ready_pool_loader_binds_diagnostics_agreement_verdict( tmp_path: Path, ) -> None: From a00be8967c169f360fadec872684639c74cd4c4f Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Tue, 6 Oct 2026 09:35:31 -0400 Subject: [PATCH 04/67] Revert the multispine pool release gate on defaulted SNAP take-up (#1051 review) This reverts commit f8da490b. Refusing pool releases with engine-defaulted SNAP take-up would block the national multispine pool's release loaders, including the fiscal refresh release builder, for every pool with ACS rows. That is a decision for the pool lane's owners, not this local-lane PR. The ACS local lane is already gated: its take-up stage seeds SNAP on ACS rows and finalize/package refuse a release without a passing take-up receipt. The pool lane's missing SNAP seed stays tracked by the TODO(microcosm#1019) in multispine_pool. Co-Authored-By: Claude Opus 5.5 --- changelog.d/1019-acs-local-take-up.fixed.md | 2 +- .../src/microcosm/build/us_runtime/h5_io.py | 66 -------------- .../build/us_runtime/multispine_pool.py | 3 - .../us/test_us_multispine_pool_h5_io.py | 90 ------------------- 4 files changed, 1 insertion(+), 160 deletions(-) diff --git a/changelog.d/1019-acs-local-take-up.fixed.md b/changelog.d/1019-acs-local-take-up.fixed.md index 4d9dcd064c..a19d345d52 100644 --- a/changelog.d/1019-acs-local-take-up.fixed.md +++ b/changelog.d/1019-acs-local-take-up.fixed.md @@ -1 +1 @@ -Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). Two informational measures are recorded and not graded: the take-up receipt cross-tabs transferred `receives_tanf` against the independent TANF draw, and the QA probe reports SNAP take-up among engine-eligible SPM units by spine, state and household type. The successor multispine pool still gives missing SNAP take-up cells the engine default, so its release loaders now refuse a pool whose seed receipt reports any engine-defaulted `takes_up_snap_if_eligible` cell; scoring evidence stays loadable. +Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). Two informational measures are recorded and not graded: the take-up receipt cross-tabs transferred `receives_tanf` against the independent TANF draw, and the QA probe reports SNAP take-up among engine-eligible SPM units by spine, state and household type. diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/h5_io.py b/packages/microcosm-build/src/microcosm/build/us_runtime/h5_io.py index fc62241cf4..48b87cb2bc 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/h5_io.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/h5_io.py @@ -74,7 +74,6 @@ "US_MULTISPINE_POOL_H5_ARTIFACT_KIND", "US_MULTISPINE_POOL_MANIFEST_ARTIFACT_KIND", "US_MULTISPINE_POOL_MANIFEST_SCHEMA_VERSION", - "US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP", "US_STACKED_POOL_OPERATOR_ORDER", "identify_us_multispine_pool_manifest", "load_authenticated_us_multispine_pool_for_release", @@ -84,7 +83,6 @@ "load_simulation_ready_us_multispine_pool_manifest", "read_nullable_us_h5_metadata", "require_authenticated_us_multispine_pool_h5", - "us_multispine_pool_defaulted_take_up_failures", "us_multispine_pool_release_receipt", "write_nullable_us_h5", ] @@ -2052,62 +2050,6 @@ def _stacked_late_transition_binding( return dag, derived_authority, observed_sha256 -#: Take-up variables whose engine-defaulted cells block a pool release -#: (microcosm#1019, #1051 review). The pool's seed stage gives a missing -#: ``takes_up_snap_if_eligible`` cell the installed engine's default, which is -#: universal take-up, because its spine-blind take-up contract has no SNAP -#: seed yet (the legacy ACS local lane seeds it in ``acs_local_take_up``). -US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP: tuple[str, ...] = ( - "takes_up_snap_if_eligible", -) - - -def us_multispine_pool_defaulted_take_up_failures( - manifest: Mapping[str, object], -) -> list[str]: - """Release-blocking engine-defaulted take-up recorded by the seed stage. - - ``build_us_multispine_pool.py`` records, per take-up variable, how many - cells its seed stage filled with the engine default - (``stage_receipts.seed.programs..defaulted_rows``). For each - variable in :data:`US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP` - a positive count fails: those units would take the program up whenever - eligible. The check reads receipt counts only, so it stays spine-blind. - A ``programs`` block that omits a blocking variable, or a malformed - count, also fails. A seed receipt with no ``programs`` block at all (not - written by the seed stage) records no take-up provenance and is not - evaluated. Returns one line per failure; empty means releasable. - """ - - stage_receipts = manifest.get("stage_receipts") - seed = stage_receipts.get("seed") if isinstance(stage_receipts, Mapping) else None - programs = seed.get("programs") if isinstance(seed, Mapping) else None - if programs is None: - return [] - if not isinstance(programs, Mapping): - return ["stage_receipts.seed.programs is not an object."] - failures: list[str] = [] - for variable in US_MULTISPINE_POOL_RELEASE_BLOCKING_DEFAULTED_TAKE_UP: - entry = programs.get(variable) - if not isinstance(entry, Mapping): - failures.append(f"the seed receipt records no {variable!r} provenance.") - continue - defaulted = entry.get("defaulted_rows") - if isinstance(defaulted, bool) or not isinstance(defaulted, int): - failures.append( - f"{variable!r} defaulted_rows is not an integer: {defaulted!r}." - ) - elif defaulted < 0: - failures.append(f"{variable!r} defaulted_rows is negative: {defaulted}.") - elif defaulted > 0: - failures.append( - f"{defaulted} {variable!r} cell(s) carry the engine default " - "(universal take-up among eligible units); a receipt-anchored " - "seed must replace it before release (microcosm#1019)." - ) - return failures - - def load_simulation_ready_us_multispine_pool( path: str | Path, *, @@ -2216,14 +2158,6 @@ def _load_us_multispine_pool( f"US multispine pool manifest {manifest_path} has no passing " "agreement-gate verdict." ) - if not scoring_only: - # Release boundary (both release loaders; scoring evidence is exempt). - take_up_failures = us_multispine_pool_defaulted_take_up_failures(manifest) - if take_up_failures: - raise ValueError( - f"US multispine pool manifest {manifest_path} is not releasable: " - + " ".join(take_up_failures) - ) pool_path = authenticated_pool_h5.path metadata = read_nullable_us_h5_metadata(pool_path) diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py b/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py index 28cabc6fbf..d3a97098f5 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/multispine_pool.py @@ -3127,9 +3127,6 @@ def seed_multispine_pool_inputs( # take-up. The legacy local lane seeds them in acs_local_take_up; # this module must stay spine-blind, so the fix here needs a # spine-blind receipt-anchored SNAP seed and a contract change. - # Until then the release loaders in h5_io refuse a pool whose - # receipt reports such cells - # (us_multispine_pool_defaulted_take_up_failures). if program.variable not in defaults: raise ValueError( "PolicyEngine exposes no input default for take-up variable " diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_multispine_pool_h5_io.py b/packages/microcosm-build/tests/engine_free/us/test_us_multispine_pool_h5_io.py index 76d18abd2a..900ee24d41 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_multispine_pool_h5_io.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_multispine_pool_h5_io.py @@ -47,7 +47,6 @@ load_authenticated_us_multispine_pool_for_scoring, load_simulation_ready_us_multispine_pool, require_authenticated_us_multispine_pool_h5, - us_multispine_pool_defaulted_take_up_failures, us_multispine_pool_release_receipt, write_nullable_us_h5, ) @@ -1776,95 +1775,6 @@ def test_ready_pool_loader_requires_explicitly_green_agreement_receipt( load_simulation_ready_us_multispine_pool(manifest_path) -def _with_seed_snap_take_up(manifest_path: Path, defaulted_rows: object) -> None: - manifest = json.loads(manifest_path.read_text(encoding="utf-8")) - manifest["stage_receipts"]["seed"]["programs"] = { - "takes_up_snap_if_eligible": { - "provenance_kind": "preserved_input_or_disclosed_engine_default", - "defaulted_rows": defaulted_rows, - } - } - manifest_path.write_text(json.dumps(manifest), encoding="utf-8") - - -def test_release_loaders_refuse_engine_defaulted_snap_take_up( - tmp_path: Path, -) -> None: - """#1051 review: the successor pool is gated before its output is released.""" - - pytest.importorskip("tables") - manifest_path = _write_ready_pool(tmp_path) - _with_seed_snap_take_up(manifest_path, 3) - - with pytest.raises(ValueError, match="not releasable: 3 'takes_up_snap"): - load_simulation_ready_us_multispine_pool(manifest_path) - with pytest.raises(ValueError, match="carry the engine default"): - load_authenticated_us_multispine_pool_for_release( - manifest_path, - allow_terminal_gate_failure=False, - ) - - _with_seed_snap_take_up(manifest_path, 0) - frame, _, _ = load_simulation_ready_us_multispine_pool(manifest_path) - assert frame.n("household") == 3 - - -def test_scoring_loader_keeps_engine_defaulted_snap_pool_as_evidence( - tmp_path: Path, -) -> None: - pytest.importorskip("tables") - manifest_path = _write_gate_failed_pool(tmp_path) - manifest = json.loads(manifest_path.read_text(encoding="utf-8")) - manifest["stage_receipts"]["seed"] = { - "programs": {"takes_up_snap_if_eligible": {"defaulted_rows": 3}} - } - manifest_path.write_text(json.dumps(manifest), encoding="utf-8") - - with pytest.raises(ValueError, match="not releasable"): - load_authenticated_us_multispine_pool_for_release( - manifest_path, - allow_terminal_gate_failure=True, - ) - frame, loaded_manifest, _ = load_authenticated_us_multispine_pool_for_scoring( - manifest_path - ) - assert frame.n("household") == 3 - assert loaded_manifest["status"] == "gate_failed" - - -def test_defaulted_take_up_failures_read_the_seed_receipt_counts() -> None: - def manifest(programs: object) -> dict[str, object]: - return {"stage_receipts": {"seed": {"operator": "seed", "programs": programs}}} - - snap = "takes_up_snap_if_eligible" - assert us_multispine_pool_defaulted_take_up_failures({}) == [] - assert ( - us_multispine_pool_defaulted_take_up_failures( - {"stage_receipts": {"seed": {"operator": "seed"}}} - ) - == [] - ) - assert ( - us_multispine_pool_defaulted_take_up_failures( - manifest({snap: {"defaulted_rows": 0}}) - ) - == [] - ) - (line,) = us_multispine_pool_defaulted_take_up_failures( - manifest({snap: {"defaulted_rows": 12}}) - ) - assert line.startswith("12 'takes_up_snap_if_eligible' cell(s)") - for programs, fragment in ( - ({}, "records no 'takes_up_snap_if_eligible' provenance"), - ({snap: {"defaulted_rows": True}}, "is not an integer"), - ({snap: {"defaulted_rows": 1.0}}, "is not an integer"), - ({snap: {"defaulted_rows": -1}}, "is negative"), - ([], "programs is not an object"), - ): - (line,) = us_multispine_pool_defaulted_take_up_failures(manifest(programs)) - assert fragment in line - - def test_ready_pool_loader_binds_diagnostics_agreement_verdict( tmp_path: Path, ) -> None: From 7b969629ffcbfa201c39b1af11ce927718341992 Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Wed, 14 Oct 2026 14:30:17 -0400 Subject: [PATCH 05/67] Relabel the SNAP QA table a December-eligible snapshot and add a person rate (#1051 review) The QA table counted one row per December-eligible SPM unit at its household weight and called the result the quantity FNS participation rates measure. FNS rates are among eligible people over a federal fiscal year, so it was not that. - Each cell now reports a person-weighted rate beside the unit rate: eligible persons who take up over eligible persons, each unit weighted by its household weight times its member count, as the frame weights people. The unit fields are renamed unit_* and the person fields are person_*, with eligible_persons alongside eligible_units. - spine_qa.json's key is now snap_december_eligible_snapshot, labelled "December-eligible snapshot (unit- and person-weighted)", with a not_fns_participation_rate statement. The definition says the receiving rate counts a positive annual benefit, a different window from the December eligibility. - The module and do_qa docstrings, the QA note, the acs_take_up_engine_defaults limitation and the changelog fragment say the same thing. The table stays informational and is never graded. - Tests: the existing QA test reads the new keys (person rates equal unit rates for one-person units), and a new test runs the review's example through do_qa: an eligible one-person unit that does not take up and an eligible four-person unit that does, at equal weights, give a unit rate of 0.5 and a person rate of 0.8. Co-Authored-By: Claude Opus 5.5 --- changelog.d/1019-acs-local-take-up.fixed.md | 2 +- .../us/test_us_acs_local_release_tool.py | 158 ++++++++++++++---- tools/build_us_acs_local_release.py | 150 ++++++++++++----- 3 files changed, 232 insertions(+), 78 deletions(-) diff --git a/changelog.d/1019-acs-local-take-up.fixed.md b/changelog.d/1019-acs-local-take-up.fixed.md index a19d345d52..150d9b0eb8 100644 --- a/changelog.d/1019-acs-local-take-up.fixed.md +++ b/changelog.d/1019-acs-local-take-up.fixed.md @@ -1 +1 @@ -Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). Two informational measures are recorded and not graded: the take-up receipt cross-tabs transferred `receives_tanf` against the independent TANF draw, and the QA probe reports SNAP take-up among engine-eligible SPM units by spine, state and household type. +Seed SNAP and TANF take-up on the ACS rows of the ACS local-area release (microcosm#1019). Every ACS SPM unit previously reached both engine passes with `takes_up_snap_if_eligible` and `takes_up_tanf_if_eligible` missing, and the reviewed-null fill gave them the engine default, so every eligible ACS unit took both programs up. `microcosm.build.us_runtime.acs_local_take_up` now fills only missing ACS-row cells before either fill: `receives_snap` reporters take SNAP up and non-reporters draw to the `snap_take_up` stage's national FNS rate, and TANF uses the take-up contract's seeded rate. Materialize records the seed and an assignment digest, and the consumer export must reproduce it. The reviewed-null fill refuses to default-fill either column, finalize hard-fails on a new per-spine `acs_local_take_up_signal` gate (missing, constant, unanchored or out-of-band take-up), and packaging requires that gate passing and bound to the packaged H5. The other ACS take-up flags stay a reviewed limitation (microcosm#1022). Two informational measures are recorded and not graded: the take-up receipt cross-tabs transferred `receives_tanf` against the independent TANF draw, and the QA probe reports a December-eligible SNAP take-up snapshot, unit- and person-weighted, by spine, state and household type. The snapshot is not the FNS fiscal-year participation rate, which is among eligible people over a federal fiscal year. diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py index 61fd50faaa..edda01ae1d 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py @@ -169,44 +169,51 @@ def test_spine_composition_reports_per_spine_weight_and_size() -> None: ) -def test_do_qa_reports_snap_take_up_among_eligible_units(tmp_path, monkeypatch): - """#1051 review: informational SNAP take-up by spine, state and type. +def _snap_qa_frame(*, households, spm_unit_columns, person_spines=None): + """A tiny calibrated frame for the QA SNAP snapshot. - Six one-person households (household = SPM unit), weights 1..6, probed in - two chunks. Units 1, 2, 3, 5 and 6 are eligible (weight 17); 1, 3 and 6 - take up (10), and 1 and 3 receive a positive benefit (4). + ``households`` maps household id -> (weight, state, member count); each + household is one SPM unit (and one unit of every other group entity). + ``spm_unit_columns`` adds the fake engine's per-unit inputs. """ from microcosm.build.us_runtime.base_pool import spine_column from microcosm.frame import US_SCHEMA, Frame, WeightKind, Weights - from microcosm.frame.adapters import policyengine_us as adapter_module - module = _load_tool_module() - ids = np.arange(1, 7) - spines = ["asec_puf"] * 2 + ["acs_2024_1yr"] * 4 - person = pd.DataFrame({"person_id": ids, spine_column("person"): spines}) + unit_ids = np.asarray(list(households), dtype=np.int64) + members = np.repeat(unit_ids, [size for _, _, size in households.values()]) + person = pd.DataFrame( + { + "person_id": np.arange(1, len(members) + 1), + spine_column("person"): ( + person_spines + if person_spines is not None + else ["acs_2024_1yr"] * len(members) + ), + } + ) tables = {"person": person} for entity in US_SCHEMA.entities: if entity != "person": - person[f"person_{entity}_id"] = ids - tables[entity] = pd.DataFrame({f"{entity}_id": ids}) - tables["household"]["_state"] = ["CA", "CA", "TX", "TX", "CA", "TX"] - tables["spm_unit"] = tables["spm_unit"].assign( - **{ - spine_column("spm_unit"): spines, - "takes_up_snap_if_eligible": [True, False, True, True, False, True], - "_eligible": [True, True, True, False, True, True], - "_snap": [100.0, 0.0, 50.0, 0.0, 0.0, 0.0], - "_elderly_or_disabled": [False, True, False, False, False, True], - "_children": [0, 0, 2, 1, 0, 0], - "_earned": [0.0, 10.0, 20.0, 0.0, 0.0, 0.0], - } + person[f"person_{entity}_id"] = members + tables[entity] = pd.DataFrame({f"{entity}_id": unit_ids}) + tables["household"]["_state"] = [state for _, state, _ in households.values()] + tables["spm_unit"] = tables["spm_unit"].assign(**spm_unit_columns) + weights = np.asarray( + [weight for weight, _, _ in households.values()], dtype=np.float64 ) - frame = Frame( + return Frame( tables, US_SCHEMA, - {"household": Weights(ids.astype(np.float64), WeightKind.CALIBRATED)}, + {"household": Weights(weights, WeightKind.CALIBRATED)}, ) + + +def _run_snap_qa(module, frame, tmp_path, monkeypatch, *, hh_chunk): + """Run do_qa on ``frame`` under a fake engine; return (calls, payload).""" + + from microcosm.frame.adapters import policyengine_us as adapter_module + calls: list[tuple[str, ...]] = [] class _Engine: @@ -230,28 +237,73 @@ def materialize(self, sub_frame, variables, period): monkeypatch.setattr(module, "_load_staging_frame", lambda *_a, **_k: frame) monkeypatch.setattr(module, "_sha256", lambda *_a, **_k: "artifact-sha") args = SimpleNamespace( - out_h5=tmp_path / "calibrated.h5", hh_chunk=4, checkpoint_dir=tmp_path + out_h5=tmp_path / "calibrated.h5", hh_chunk=hh_chunk, checkpoint_dir=tmp_path ) module.do_qa(args) + return calls, json.loads((tmp_path / "spine_qa.json").read_text()) + + +def test_do_qa_reports_a_december_eligible_snap_snapshot(tmp_path, monkeypatch): + """#1051 review: informational SNAP take-up by spine, state and type. + + Six one-person households (household = SPM unit), weights 1..6, probed in + two chunks. Units 1, 2, 3, 5 and 6 are eligible (weight 17); 1, 3 and 6 + take up (10), and 1 and 3 receive a positive benefit (4). With one-person + units the person-weighted rates equal the unit-weighted ones. + """ + + from microcosm.build.us_runtime.base_pool import spine_column + + module = _load_tool_module() + spines = ["asec_puf"] * 2 + ["acs_2024_1yr"] * 4 + frame = _snap_qa_frame( + households={ + unit: (float(unit), state, 1) + for unit, state in zip( + range(1, 7), ["CA", "CA", "TX", "TX", "CA", "TX"], strict=True + ) + }, + spm_unit_columns={ + spine_column("spm_unit"): spines, + "takes_up_snap_if_eligible": [True, False, True, True, False, True], + "_eligible": [True, True, True, False, True, True], + "_snap": [100.0, 0.0, 50.0, 0.0, 0.0, 0.0], + "_elderly_or_disabled": [False, True, False, False, False, True], + "_children": [0, 0, 2, 1, 0, 0], + "_earned": [0.0, 10.0, 20.0, 0.0, 0.0, 0.0], + }, + person_spines=spines, + ) + calls, payload = _run_snap_qa(module, frame, tmp_path, monkeypatch, hh_chunk=4) # One engine pass per chunk reads SSI and the SNAP variables together. assert len(calls) == 2 assert set(calls[0]) == {"ssi", "state_code_str", *module._QA_SNAP_VARIABLES} - payload = json.loads((tmp_path / "spine_qa.json").read_text()) assert set(payload["per_spine"]) == {"asec_puf", "acs_2024_1yr"} - table = payload["snap_take_up_among_eligible"] + assert "snap_take_up_among_eligible" not in payload + table = payload["snap_december_eligible_snapshot"] assert table["graded"] is False + assert table["label"] == "December-eligible snapshot (unit- and person-weighted)" + assert table["not_fns_participation_rate"].startswith( + "Not the FNS fiscal-year participation rate." + ) + assert "December" in table["definition"] + assert "not the FNS fiscal-year participation rate" in payload["note"] def rates(cell): return ( cell["eligible_units"], - cell["eligible_weight"], - pytest.approx(cell["take_up_rate"]), + cell["eligible_unit_weight"], + pytest.approx(cell["unit_take_up_rate"]), ) overall = table["all"] assert rates(overall) == (5, 17.0, pytest.approx(10 / 17)) - assert overall["receiving_rate"] == pytest.approx(4 / 17) + assert overall["unit_receiving_rate"] == pytest.approx(4 / 17) + assert overall["eligible_persons"] == 5 + assert overall["eligible_person_weight"] == pytest.approx(17.0) + assert overall["person_take_up_rate"] == pytest.approx(10 / 17) + assert overall["person_receiving_rate"] == pytest.approx(4 / 17) assert {k: rates(v) for k, v in table["by_household_type"].items()} == { "elderly_or_disabled": (2, 8.0, pytest.approx(0.75)), "with_children": (1, 3.0, pytest.approx(1.0)), @@ -272,12 +324,50 @@ def rates(cell): } -def test_snap_take_up_among_eligible_handles_no_eligible_units() -> None: +def test_do_qa_snap_snapshot_weights_people_by_unit_size(tmp_path, monkeypatch) -> None: + """#1051 review A1 (round 4): her example, through do_qa. + + One eligible one-person unit that does not take up and one eligible + four-person unit that does, at equal weights: half the units take up, but + four of the five eligible people do. + """ + + from microcosm.build.us_runtime.base_pool import spine_column + + module = _load_tool_module() + frame = _snap_qa_frame( + households={1: (10.0, "CA", 1), 2: (10.0, "CA", 4)}, + spm_unit_columns={ + spine_column("spm_unit"): ["acs_2024_1yr"] * 2, + "takes_up_snap_if_eligible": [False, True], + "_eligible": [True, True], + "_snap": [0.0, 300.0], + "_elderly_or_disabled": [False, False], + "_children": [0, 2], + "_earned": [0.0, 100.0], + }, + ) + _calls, payload = _run_snap_qa(module, frame, tmp_path, monkeypatch, hh_chunk=1) + overall = payload["snap_december_eligible_snapshot"]["all"] + assert overall["eligible_units"] == 2 + assert overall["eligible_unit_weight"] == pytest.approx(20.0) + assert overall["unit_take_up_rate"] == pytest.approx(0.5) + assert overall["eligible_persons"] == 5 + assert overall["eligible_person_weight"] == pytest.approx(50.0) + assert overall["person_take_up_weight"] == pytest.approx(40.0) + assert overall["person_take_up_rate"] == pytest.approx(0.8) + assert overall["unit_receiving_rate"] == pytest.approx(0.5) + assert overall["person_receiving_rate"] == pytest.approx(0.8) + + +def test_snap_december_snapshot_handles_no_eligible_units() -> None: module = _load_tool_module() empty = pd.DataFrame(columns=list(module._QA_SNAP_UNIT_COLUMNS)) - table = module.snap_take_up_among_eligible(empty) + table = module.snap_december_eligible_snapshot(empty) assert table["all"]["eligible_units"] == 0 - assert table["all"]["take_up_rate"] is None + assert table["all"]["eligible_persons"] == 0 + assert table["all"]["unit_take_up_rate"] is None + assert table["all"]["person_take_up_rate"] is None assert table["by_spine"] == {} assert table["by_state"] == {} diff --git a/tools/build_us_acs_local_release.py b/tools/build_us_acs_local_release.py index eebafbc247..8b5baa9b38 100644 --- a/tools/build_us_acs_local_release.py +++ b/tools/build_us_acs_local_release.py @@ -42,7 +42,10 @@ weights onto a copy of the staging H5. qa : chunked engine probe of the calibrated artifact recording per-spine SSI incidence and intensity (the microcosm#403 - signature, measured rather than assumed). + signature, measured rather than assumed) and an + informational December-eligible SNAP take-up snapshot + (unit- and person-weighted; not the FNS fiscal-year + participation rate). finalize : release-style gate report (PUMA-ladder gate, calibration gate, spine-composition evidence) + the reviewed-limitations register for this lineage (inherited #507 SSI aged-band @@ -2373,8 +2376,8 @@ def spine_composition(households: pd.DataFrame, persons: pd.DataFrame, weights): return composition -#: Engine variables the QA probe reads to report SNAP take-up among -#: engine-eligible SPM units (microcosm#1051 review). Informational only. +#: Engine variables the QA probe reads for its December-eligible SNAP take-up +#: snapshot (microcosm#1051 review). Informational only. _QA_SNAP_VARIABLES: tuple[str, ...] = ( "is_snap_eligible", "takes_up_snap_if_eligible", @@ -2383,7 +2386,7 @@ def spine_composition(households: pd.DataFrame, persons: pd.DataFrame, weights): "spm_unit_count_children", "snap_earned_income", ) -#: Household types of the SNAP take-up table. They overlap (a unit with +#: Household types of the SNAP snapshot. They overlap (a unit with #: children and earnings is in both); ``childless_adults`` units have neither #: children nor an elderly or disabled member. _QA_SNAP_HOUSEHOLD_TYPES: tuple[str, ...] = ( @@ -2396,10 +2399,21 @@ def spine_composition(households: pd.DataFrame, persons: pd.DataFrame, weights): "spine", "state", "weight", + "persons", "takes_up", "receives", *_QA_SNAP_HOUSEHOLD_TYPES, ) +#: What the QA's SNAP table is, and what it is not (microcosm#1051 review). +SNAP_DECEMBER_SNAPSHOT_LABEL = "December-eligible snapshot (unit- and person-weighted)" +SNAP_DECEMBER_SNAPSHOT_NOT_FNS = ( + "Not the FNS fiscal-year participation rate. USDA FNS participation " + "rates are among eligible people over a federal fiscal year; this " + "snapshot counts the SPM units the engine finds SNAP-eligible in " + "December of the calendar year, and the people in them, and its " + "receiving rates count a positive annual modeled benefit. It is " + "informational and never graded." +) def _qa_snap_eligible_units( @@ -2409,11 +2423,14 @@ def _qa_snap_eligible_units( household_weights: np.ndarray, position_by_id: pd.Series, ) -> pd.DataFrame: - """One row per engine-eligible SPM unit of a QA chunk. - - Each row carries the unit's spine, state, household weight, stored - take-up flag, whether its modeled ``snap`` is positive, and the - household-type flags of :data:`_QA_SNAP_HOUSEHOLD_TYPES`. + """One row per SPM unit of a QA chunk that is SNAP-eligible in December. + + PolicyEngine reads the monthly ``is_snap_eligible`` at a year period as + its last month. Each row carries the unit's spine, state, household + weight, member count (``persons``; every member carries the household + weight, as the frame weights people), stored take-up flag, whether its + annual modeled ``snap`` is positive, and the household-type flags of + :data:`_QA_SNAP_HOUSEHOLD_TYPES`. """ from microcosm.build.us_runtime.base_pool import spine_column @@ -2431,6 +2448,12 @@ def _qa_snap_eligible_units( ) if unit_household.isna().any(): raise ValueError("QA: an SPM unit has no member person.") + persons = ( + person["person_spm_unit_id"] + .value_counts() + .reindex(spm_unit["spm_unit_id"].to_numpy(), fill_value=0) + .to_numpy(dtype=np.int64) + ) household_ids = unit_household.to_numpy() positions = position_by_id.reindex(household_ids).to_numpy() state = ( @@ -2454,6 +2477,7 @@ def _qa_snap_eligible_units( "spine": spine, "state": state, "weight": household_weights[positions.astype(np.int64)], + "persons": persons, "takes_up": np.asarray(values["takes_up_snap_if_eligible"], dtype=bool), "receives": np.asarray(values["snap"], dtype=np.float64) > 0, "elderly_or_disabled": elderly_or_disabled, @@ -2469,30 +2493,58 @@ def _qa_snap_eligible_units( return units.loc[eligible].reset_index(drop=True) -def snap_take_up_among_eligible(units: pd.DataFrame) -> dict[str, object]: - """Weighted SNAP take-up among engine-eligible SPM units (informational). +def snap_december_eligible_snapshot(units: pd.DataFrame) -> dict[str, object]: + """SNAP take-up in a December-eligible snapshot, unit- and person-weighted. + + ``units`` holds one row per SPM unit that is SNAP-eligible in December + (:func:`_qa_snap_eligible_units`). Every cell reports two rates over + that population: + + - ``unit_take_up_rate``: the household weight of eligible units whose + stored ``takes_up_snap_if_eligible`` is true, over all eligible unit + weight; + - ``person_take_up_rate``: eligible persons who take up over eligible + persons, weighting each unit by its weight times its member count, as + the frame weights people. - ``units`` holds one row per eligible unit (:func:`_qa_snap_eligible_units`). - ``take_up_rate`` is the eligible weight whose stored - ``takes_up_snap_if_eligible`` is true over all eligible weight, the - quantity FNS participation rates measure; ``receiving_rate`` counts a - positive modeled benefit instead. Reported overall, by household type, - by spine (and type), and by state. Never graded (microcosm#1051 review). + The ``*_receiving_rate`` fields count a positive annual modeled ``snap`` + instead. This is not the FNS participation rate, which is among + eligible people over a federal fiscal year + (:data:`SNAP_DECEMBER_SNAPSHOT_NOT_FNS`). Reported overall, by household + type, by spine (and type) and by state. Never graded (microcosm#1051 + review). """ def cell(rows: pd.DataFrame) -> dict[str, object]: - weights = rows["weight"].to_numpy(dtype=np.float64) - weight = float(weights.sum()) - taking_up = float(weights[rows["takes_up"].to_numpy(dtype=bool)].sum()) - receiving = float(weights[rows["receives"].to_numpy(dtype=bool)].sum()) - return { + unit_weights = rows["weight"].to_numpy(dtype=np.float64) + members = rows["persons"].to_numpy(dtype=np.float64) + takes_up = rows["takes_up"].to_numpy(dtype=bool) + receives = rows["receives"].to_numpy(dtype=bool) + result: dict[str, object] = { "eligible_units": int(len(rows)), - "eligible_weight": weight, - "take_up_weight": taking_up, - "take_up_rate": taking_up / weight if weight > 0 else None, - "receiving_weight": receiving, - "receiving_rate": receiving / weight if weight > 0 else None, + "eligible_persons": int(members.sum()), } + for basis, weights in ( + ("unit", unit_weights), + ("person", unit_weights * members), + ): + weight = float(weights.sum()) + taking_up = float(weights[takes_up].sum()) + receiving = float(weights[receives].sum()) + result.update( + { + f"eligible_{basis}_weight": weight, + f"{basis}_take_up_weight": taking_up, + f"{basis}_take_up_rate": ( + taking_up / weight if weight > 0 else None + ), + f"{basis}_receiving_weight": receiving, + f"{basis}_receiving_rate": ( + receiving / weight if weight > 0 else None + ), + } + ) + return result def by_type(rows: pd.DataFrame) -> dict[str, object]: return { @@ -2501,6 +2553,7 @@ def by_type(rows: pd.DataFrame) -> dict[str, object]: } return { + "label": SNAP_DECEMBER_SNAPSHOT_LABEL, "graded": False, "all": cell(units), "by_household_type": by_type(units), @@ -2517,9 +2570,10 @@ def by_type(rows: pd.DataFrame) -> dict[str, object]: def do_qa(args) -> None: """Chunked engine probe on the calibrated artifact. - Records per-spine SSI incidence and, informationally, SNAP take-up among - engine-eligible SPM units by spine, state and household type - (microcosm#1051 review). Loads the packaged artifact bytes PLAIN — no + Records per-spine SSI incidence and, informationally, a December-eligible + SNAP take-up snapshot (unit- and person-weighted; not the FNS fiscal-year + participation rate) by spine, state and household type (microcosm#1051 + review). Loads the packaged artifact bytes PLAIN — no private projection or fill — so the probe doubles as the proof that ordinary ``USSingleYearDataset``/``Microsimulation`` consumers can load the file (the engine-pass contract was applied at export). @@ -2605,18 +2659,23 @@ def do_qa(args) -> None: "artifact_sha256": _sha256(args.out_h5), "plain_consumption": True, "per_spine": per_spine, - "snap_take_up_among_eligible": { + "snap_december_eligible_snapshot": { "issue": "microcosm#1051 review", + "not_fns_participation_rate": SNAP_DECEMBER_SNAPSHOT_NOT_FNS, "definition": ( - "SPM units with is_snap_eligible for the period (PolicyEngine " - "reads a monthly boolean at a year period as its last month); " - "take_up_rate = weighted share of those units whose stored " - "takes_up_snap_if_eligible is true; receiving_rate = weighted " - "share with positive modeled snap. Household types overlap; " - "childless_adults have no children and no elderly or " - "disabled member." + "SPM units with is_snap_eligible in December (PolicyEngine " + "reads a monthly boolean at a year period as its last month) " + "and the people in them. unit_* fields weight each unit by " + "its household weight; person_* fields weight it by household " + "weight times member count, so person_take_up_rate is " + "eligible persons who take up over eligible persons. " + "*_take_up_rate reads the stored takes_up_snap_if_eligible; " + "*_receiving_rate counts a positive annual modeled snap, a " + "different window from the December eligibility. Household " + "types overlap; childless_adults have no children and no " + "elderly or disabled member." ), - **snap_take_up_among_eligible( + **snap_december_eligible_snapshot( pd.concat(snap_units, ignore_index=True) if snap_units else pd.DataFrame(columns=list(_QA_SNAP_UNIT_COLUMNS)) @@ -2626,9 +2685,10 @@ def do_qa(args) -> None: "microcosm#403 re-measure: per-spine SSI incidence and intensity, " "computed by loading the packaged artifact bytes PLAIN (no " "private projection or fill) — the probe doubles as the " - "consumer-loadability proof. SNAP take-up among engine-eligible " - "units is reported alongside (microcosm#1051 review). Recorded " - "as evidence, not gated." + "consumer-loadability proof. A December-eligible SNAP take-up " + "snapshot (unit- and person-weighted; not the FNS fiscal-year " + "participation rate) is reported alongside (microcosm#1051 " + "review). Recorded as evidence, not gated." ), } (args.checkpoint_dir / "spine_qa.json").write_text(json.dumps(payload, indent=2)) @@ -2791,7 +2851,11 @@ def finalize_reviewed_limitations( "(microcosm#1019). The other runtime-owned takes_up_* flags " "(EITC, ACA, Medicaid, SSI, Medicare, Head Start and the " "rest) are neither transferred nor seeded on ACS rows, so " - "they ship at the engine default, universal take-up." + "they ship at the engine default, universal take-up. The QA " + "probe's SNAP take-up table is a December-eligible snapshot " + "(unit- and person-weighted), informational and never " + "graded; it is not the FNS fiscal-year participation rate, " + "which is among eligible people over a federal fiscal year." ), "treatment": "Tracked via microcosm#1022.", "calibration_blocker": False, From 5c32a1d39bbf838d060f46e2613b053f57ef7b2a Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Thu, 15 Oct 2026 09:41:44 -0400 Subject: [PATCH 06/67] Record a current materialization in the stage-driving tests (#1019) CI run 38640801867 failed test_resume_refuses_weights_without_the_run_identity_stamp in main's test_us_acs_local_sparse_cd.py. That test drives do_calibrate on a stubbed checkpoint whose run identity has no ACS take-up receipt, so the stack's pre-solve take-up refusal fired before the run-identity stamp check the test targets. test_us_acs_local_target_loss_weights.py, which CI never reached after --maxfail=1, failed five tests for the same reason. The refusal order stays as it is: a checkpoint that predates #1019 must be re-materialized, which also invalidates any weights, so its refusal should come before the weights-stamp refusals. The fixtures change instead. - New _record_current_materialization(module, args, identity) in the release-tool tests records what a current materialize stage leaves (here the take-up receipt in run_identity.json). The stack's later layers extend this one helper as they add staging or identity requirements. - The sparse-CD resume test and the target-loss-weight calibrate_run fixture load it, the way the sparse-CD tests already load the batched-materialization fixtures, so each still reaches the refusal it tests. Co-Authored-By: Claude Opus 5.5 (1M context) --- .../us/test_us_acs_local_release_tool.py | 18 ++++++++++++++++ .../us/test_us_acs_local_sparse_cd.py | 16 ++++++++++++++ .../test_us_acs_local_target_loss_weights.py | 21 ++++++++++++++++++- 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py index edda01ae1d..65b4978b72 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_release_tool.py @@ -612,6 +612,24 @@ def test_take_up_consumers_refuse_a_checkpoint_without_the_assignment() -> None: assert module._recorded_take_up({"acs_local_take_up": recorded}) == recorded +def _record_current_materialization(module, args, identity: dict) -> dict: + """Record what a current materialize stage leaves for the later stages. + + The release tool refuses, before any solve, a checkpoint that predates a + requirement of this stack: here the take-up assignment ``run_identity.json`` + records (microcosm#1019). A test that drives ``do_calibrate`` or a later + stage on a stubbed checkpoint, to exercise some other refusal, records a + current materialization through this one helper so it still reaches the + refusal it tests; the sparse-CD and target-loss-weight tests load it from + here. ``module`` and ``args`` locate what a materialization records outside + its identity (the staging summary, checkpoint files) once a requirement + lives there. + """ + + identity["acs_local_take_up"] = {"seed": 0, "assigned_sha256": "a" * 64} + return identity + + def _package_evidence_args(module, tmp_path: Path, monkeypatch, *, hours_report): """Every package-stage input, with the finalize report's hours entry given. diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_sparse_cd.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_sparse_cd.py index 73d8851706..9e8c5c57f1 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_sparse_cd.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_sparse_cd.py @@ -54,6 +54,19 @@ def _load_fixtures(): return fixtures +def _load_release_tool_tests(): + """The release-tool tests, for their record of a current materialization.""" + + spec = importlib.util.spec_from_file_location( + "acs_local_release_tool_tests", + Path(__file__).with_name("test_us_acs_local_release_tool.py"), + ) + tests = importlib.util.module_from_spec(spec) + assert spec.loader is not None + spec.loader.exec_module(tests) + return tests + + def _district_hierarchy(name: str, district: str): """A production-shaped hierarchy: its target id is the spec name.""" @@ -1209,6 +1222,9 @@ def test_resume_refuses_weights_without_the_run_identity_stamp( seed=0, target_family_loss_multipliers={}, ) + # A current materialization, so the stack's pre-solve refusals pass + # and the stamp checks below are what refuse. + _load_release_tool_tests()._record_current_materialization(module, args, identity) settings = module._solver_settings( args, module.release_target_loss_weights(args, [])[1] ) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_target_loss_weights.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_target_loss_weights.py index a5e7870310..b06c2289bd 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_target_loss_weights.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_target_loss_weights.py @@ -13,6 +13,7 @@ import importlib.util import json import shlex +from pathlib import Path from types import SimpleNamespace import numpy as np @@ -255,6 +256,19 @@ def _args(tmp_path, **overrides): return SimpleNamespace(**values) +def _load_release_tool_tests(): + """The release-tool tests, for their record of a current materialization.""" + + spec = importlib.util.spec_from_file_location( + "acs_local_release_tool_tests", + Path(__file__).with_name("test_us_acs_local_release_tool.py"), + ) + tests = importlib.util.module_from_spec(spec) + assert spec.loader is not None + spec.loader.exec_module(tests) + return tests + + @pytest.fixture def calibrate_run(monkeypatch, tmp_path): """Run ``do_calibrate`` on the fixture; record every ``calibrate`` call.""" @@ -283,9 +297,14 @@ def spy(frame, targets, **kwargs): monkeypatch.setattr(calibrate_package, "calibrate", spy) + release_tool_tests = _load_release_tool_tests() + def run(**overrides): calls.clear() - module.do_calibrate(_args(tmp_path, **overrides)) + args = _args(tmp_path, **overrides) + # A current materialization, so the stack's pre-solve refusals pass. + release_tool_tests._record_current_materialization(module, args, identity) + module.do_calibrate(args) return calls return SimpleNamespace( From 6a8672e035878bc55c14cb1dae21a3d2149a319f Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:17:34 +0400 Subject: [PATCH 07/67] Test the build adapter over microcosm-emitter-interface The adapter should start the separately installed microcosm-emitter command through the interface's EmitterClient, with the telemetry, Orrery and Hugging Face modules, and keep the build running when the command is missing. These tests fail against the adapter that runs the pinned emitter in-process. Adds an in-memory EmitterClient for build tests. Co-Authored-By: Claude Opus 5.5 --- .../shared/test_emitter_adapter.py | 600 +++++++++--------- test_support/microcosm_build/emitter.py | 286 +++++++++ 2 files changed, 584 insertions(+), 302 deletions(-) create mode 100644 test_support/microcosm_build/emitter.py diff --git a/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py b/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py index ab5c70fd8f..11dbb8f9c1 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py @@ -1,53 +1,45 @@ -"""Test Microcosm's adapter with emitter APIs replaced, not hosted services.""" +"""Microcosm's adapter over ``microcosm-emitter-interface``, without an emitter. -from types import SimpleNamespace +The adapter starts the separately installed ``microcosm-emitter`` command +through the interface's ``EmitterClient``; these tests replace that client +with an in-memory one, or let the interface fail to find the command. +""" import pytest +from microcosm_emitter_interface import ( + EmitterClient, + HuggingFaceSettings, + OrrerySettings, + TelemetrySettings, +) +from microcosm_emitter_interface import client as interface_client +from microcosm_emitter_interface import launcher as interface_launcher from microcosm.build import telemetry_emitter as adapter +from test_support.microcosm_build.emitter import FakeEmitterClient START = adapter.LocalTelemetryEmitter.start.__func__ +#: The interface's own startup, captured before the shared fixture forbids it. +INTERFACE_START_EMITTER = interface_launcher.start_emitter -def test_selects_both_workers_once_with_shared_path_and_build_identity( - monkeypatch, tmp_path -): - calls, messages, queries, closed = [], [], [], [] - transport = SimpleNamespace(send=messages.append) - inventory = { - "version": 1, - "publication_id": "independent", - "files": [], - } +def _record_starts(monkeypatch, client=None): + """Replace ``EmitterClient.start``; return the options of every call.""" + starts = [] - def request(message, **options): - queries.append((message, options)) - if message["command"] == "inventory": - return {"inventory": inventory} - return { - "receipt": { - "version": 1, - "publication_id": "independent", - "status": "pending", - "error_code": None, - "attempts": 1, - } - } - - graph_transport = SimpleNamespace(request=request) - - def for_module(name): - return {"telemetry": transport, "orrery": graph_transport}[name] - - handle = SimpleNamespace( - client=SimpleNamespace(for_module=for_module), close=lambda: closed.append(True) - ) + def start(cls, **options): + starts.append(options) + return client if client is not None else FakeEmitterClient() + + monkeypatch.setattr(adapter.EmitterClient, "start", classmethod(start)) + return starts - def start(modules, **options): - calls.append((modules, options)) - return handle - monkeypatch.setattr(adapter, "start_services", start) +def test_starts_one_emitter_with_telemetry_graph_and_hugging_face_modules( + monkeypatch, tmp_path +): + client = FakeEmitterClient() + starts = _record_starts(monkeypatch, client) monkeypatch.setattr(adapter, "runtime_identity", lambda: {"commit": "synthetic"}) path = tmp_path / "jobs.sqlite3" emitter = START( @@ -58,86 +50,138 @@ def start(modules, **options): spool_path=path, heartbeat_seconds=123, ) - assert len(calls) == 1 - modules, options = calls[0] - assert set(modules) == {"telemetry", "orrery"} - assert all(m["spool_path"] == str(path) for m in modules.values()) - assert "registration" not in modules["orrery"] - assert modules["telemetry"]["registration"]["run_id"] == "run-one" - assert modules["telemetry"]["heartbeat_seconds"] == 123 - assert modules["telemetry"]["identity"] == {"commit": "synthetic"} + + assert len(starts) == 1 + options = starts[0] + assert adapter.EmitterClient is EmitterClient + assert options["spool_path"] == path assert options["startup_timeout"] == 15 - # The service emits one run-start event from its startup configuration. - # The build adapter must not send a second run-start request. - assert messages == [] - emitter.stage("stage-that-is-not-in-a-fixed-list") - assert messages[0]["stage_id"] == "stage-that-is-not-in-a-fixed-list" - assert emitter.publication_inventory(tmp_path, {}) == inventory - receipt = emitter.publish_graph(tmp_path, inventory, wait_seconds=0) - assert receipt["status"] == "pending" - assert [query[0]["command"] for query in queries] == ["inventory", "enqueue"] + telemetry = options["telemetry"] + assert isinstance(telemetry, TelemetrySettings) + assert telemetry.run.run_id == "run-one" + assert telemetry.run.country_code == "uk" + assert telemetry.run.pipeline == "full" + assert telemetry.identity == {"commit": "synthetic"} + assert telemetry.heartbeat_seconds == 123 + assert telemetry.development_collector_url is None + assert isinstance(options["orrery"], OrrerySettings) + assert options["orrery"].development_collector_url is None + hugging_face = options["hugging_face"] + assert isinstance(hugging_face, HuggingFaceSettings) + # The hand-over tables stay in their own SQLite file beside the spool. + assert hugging_face.configuration(path) == { + "handover_database_path": str(tmp_path / "jobs.handovers.sqlite3") + } + assert emitter.client is client + assert emitter.run is telemetry.run + # The emitter records the run start from its configuration; the adapter + # sends no second start request, and opens no database itself. + assert client.telemetry_messages == [] assert not path.exists() - emitter.complete() - emitter.close() - assert closed == [True] - assert messages[-1]["command"] == "complete" -def test_disabled_startup_cannot_claim_persistence_or_start_a_replacement_service( - monkeypatch, tmp_path -): - monkeypatch.setattr( - adapter.GraphPublicationClient, - "start", - lambda **options: pytest.fail("started a replacement graph service"), - ) +def test_telemetry_requests_reach_the_interface_with_their_fields(): + client = FakeEmitterClient() emitter = adapter.LocalTelemetryEmitter( run=adapter.TelemetryRun("run-one", "uk", "full"), - transport=None, + client=client, + close_service_on_finish=False, ) - value = {"version": 1, "publication_id": "independent", "files": []} - assert emitter.publication_inventory(tmp_path, {}) is None - receipt = emitter.publish_graph(tmp_path, value, wait_seconds=0) - assert receipt == { - "version": 1, - "publication_id": "independent", - "status": "failed", - "error_code": "local_service_unavailable", - } - assert list(tmp_path.iterdir()) == [] - -def test_unavailable_graph_socket_returns_failure_without_writing_a_queue(tmp_path): - from microcosm_emitter.host.errors import LocalServiceError - - def unavailable(*args, **options): - raise LocalServiceError("socket unavailable") - - emitter = adapter.LocalTelemetryEmitter( - run=adapter.TelemetryRun("run-one", "uk", "full"), - transport=SimpleNamespace(send=lambda message: None), - graph_client=adapter.GraphPublicationClient( - SimpleNamespace(request=unavailable) - ), + emitter.stage("stage-that-is-not-in-a-fixed-list", rows=3) + emitter.transition_stage("solve", message="Solving.", rows=4) + emitter.progress("solve", done=1, total=2, unit="chunks", elapsed_seconds=0.5) + emitter.calibration_progress({"kind": "calibration_epoch", "epoch": 1}) + emitter.transition_calibration_progress({"kind": "calibration_epoch", "epoch": 2}) + emitter.emit(event_type="progress", status="completed", stage_id="node") + emitter.block( + phase="post_calibration", + blocking_gate_ids=("uk.local.fit",), + blocking_failure_count=3, + gate_statuses={"uk.local.fit": "FAIL"}, ) - assert emitter.publication_inventory(tmp_path, {}) is None - receipt = emitter.publish_graph( - tmp_path, - {"version": 1, "publication_id": "independent", "files": []}, - wait_seconds=0, + emitter.fail( + ValueError("synthetic refusal"), + failed_during="solve", + failure_class="refused", + error_code="BUILD_REFUSED", ) - assert receipt["status"] == "failed" - assert receipt["error_code"] == "local_service_unavailable" - assert list(tmp_path.iterdir()) == [] - + emitter.complete() -def test_start_failure_is_nonfatal_and_does_not_log_exception_payload( + assert client.telemetry_messages == [ + { + "command": "stage", + "stage_id": "stage-that-is-not-in-a-fixed-list", + "status": "started", + "message": None, + "details": {"rows": 3}, + }, + { + "command": "transition_stage", + "stage_id": "solve", + "status": "running", + "message": "Solving.", + "details": {"rows": 4}, + }, + { + "command": "progress", + "stage_id": "solve", + "done": 1, + "total": 2, + "unit": "chunks", + "details": {"elapsed_seconds": 0.5}, + }, + { + "command": "calibration_progress", + "event": {"kind": "calibration_epoch", "epoch": 1}, + }, + { + "command": "transition_calibration_progress", + "event": {"kind": "calibration_epoch", "epoch": 2}, + }, + { + "command": "emit", + "event_type": "progress", + "stage_id": "node", + "status": "completed", + "message": None, + "details": {}, + }, + { + "command": "block", + "phase": "post_calibration", + "blocking_gate_ids": ["uk.local.fit"], + "blocking_failure_count": 3, + "gate_statuses": {"uk.local.fit": "FAIL"}, + }, + { + "command": "fail", + "message": "synthetic refusal", + "error_type": "ValueError", + "failed_during": "solve", + "failure_class": "refused", + "error_code": "BUILD_REFUSED", + }, + {"command": "complete"}, + ] + + +def test_a_missing_emitter_command_leaves_the_build_running( monkeypatch, capsys, tmp_path ): - def fail(*args, **kwargs): - raise RuntimeError("private credential should not be logged") - - monkeypatch.setattr(adapter, "start_services", fail) + # Let the interface itself look for the command, and fail to find it. + monkeypatch.setattr(interface_client, "start_emitter", INTERFACE_START_EMITTER) + # An adapter that still started an in-process host must not start one here. + monkeypatch.setattr( + adapter, + "start_services", + lambda *args, **options: pytest.fail("started an in-process emitter host"), + raising=False, + ) + monkeypatch.setenv( + "MICROCOSM_EMITTER_COMMAND", str(tmp_path / "missing" / "microcosm-emitter") + ) + monkeypatch.setattr(adapter, "runtime_identity", lambda: {"commit": "synthetic"}) emitter = START( adapter.LocalTelemetryEmitter, run_id="run-one", @@ -145,163 +189,60 @@ def fail(*args, **kwargs): pipeline="full", spool_path=tmp_path / "jobs.sqlite3", ) - assert not emitter.available - warning = capsys.readouterr().err - assert "RuntimeError" in warning - assert "private credential" not in warning - -@pytest.mark.parametrize("operation", ["complete", "close"]) -def test_default_test_emitter_uses_emitter_lifecycle_in_memory( - fake_telemetry_emitters, operation -): - emitter = adapter.LocalTelemetryEmitter.start( - run_id="run-one", country_code="uk", pipeline="full" - ) - emitter.stage("one") - getattr(emitter, operation)() assert not emitter.available - assert emitter.events[0]["stage_id"] == "one" - - -def test_fixture_intercepts_preimported_build_entrypoint( - monkeypatch, fake_telemetry_emitters -): - from microcosm.build.uk_runtime import rowwise_staging - from test_support.microcosm_build.telemetry import FakeTelemetryEmitter - - def fail(*args, **kwargs): - pytest.fail("test started a real emitter") - - monkeypatch.setattr(adapter, "start_services", fail) - for start in ( - rowwise_staging.start_local_telemetry_emitter_service, - adapter.LocalTelemetryEmitter.start, - ): - emitter = start(run_id="fake", country_code="GB", pipeline="test") - assert isinstance(emitter, FakeTelemetryEmitter) - assert emitter in fake_telemetry_emitters - - -def test_fixture_isolates_cached_huggingface_credentials(tmp_path): - from pathlib import Path - - from huggingface_hub import constants, get_token - - assert Path(constants.HF_TOKEN_PATH).is_relative_to(tmp_path) - assert get_token() is None + assert "command_not_found" in capsys.readouterr().err + emitter.transition_stage("solve") + assert emitter.publication_inventory(tmp_path, {}) is None + assert emitter.publish_graph( + tmp_path, + {"version": 1, "publication_id": "independent", "files": []}, + wait_seconds=0, + ) == { + "version": 1, + "publication_id": "independent", + "status": "failed", + "error_code": "local_service_unavailable", + } + emitter.complete() + emitter.close() + assert list(tmp_path.iterdir()) == [] @pytest.mark.parametrize("failure", ["default_spool_path", "runtime_identity"]) -def test_metadata_or_cache_failure_never_starts_a_service(monkeypatch, failure): +def test_metadata_or_cache_failure_never_starts_an_emitter( + monkeypatch, capsys, failure +): def fail(): raise OSError("private setup detail") + starts = _record_starts(monkeypatch) monkeypatch.setattr(adapter, failure, fail) - monkeypatch.setattr( - adapter, "start_services", lambda *a, **kw: pytest.fail("started after failure") - ) emitter = START( adapter.LocalTelemetryEmitter, run_id="failed", country_code="uk", pipeline="full", ) - assert not emitter.available - - -def test_graph_receipt_poll_uses_the_existing_module_client(monkeypatch, tmp_path): - from microcosm_emitter.orrery import client - - calls = [] - - def request(message, **options): - calls.append(message["command"]) - return { - "receipt": { - "version": 1, - "publication_id": "independent", - "status": ( - "pending" if message["command"] == "enqueue" else "published" - ), - "error_code": None, - "attempts": 0 if message["command"] == "enqueue" else 1, - } - } - - monkeypatch.setattr(client.time, "sleep", lambda duration: None) - emitter = adapter.LocalTelemetryEmitter( - run=adapter.TelemetryRun("run-one", "uk", "full"), - transport=SimpleNamespace(send=lambda message: None), - graph_client=adapter.GraphPublicationClient(SimpleNamespace(request=request)), - ) - receipt = emitter.publish_graph( - tmp_path, - {"version": 1, "publication_id": "independent", "files": []}, - wait_seconds=1, - ) - assert receipt["status"] == "published" - assert calls == ["enqueue", "receipt"] - - -def test_adapter_assigns_host_cleanup_to_the_build_finally(monkeypatch): - configured = [] - def initialize(self, **options): - configured.append(options) - - monkeypatch.setattr(adapter.EmitterTelemetryClient, "__init__", initialize) - adapter.LocalTelemetryEmitter( - run=adapter.TelemetryRun("synthetic", "uk", "full"), - transport=None, - close_service_on_finish=False, - ) - assert configured[0]["close_service_on_finish"] is False + assert starts == [] + assert not emitter.available + assert emitter.client is None + warning = capsys.readouterr().err + assert "OSError" in warning + assert "private setup detail" not in warning + emitter.fail(ValueError("refused"), error_code="BUILD_REFUSED") + emitter.close() @pytest.mark.parametrize("outcome", ["blocked", "failed", "completed"]) -def test_graph_publication_precedes_host_cleanup_after_recording_an_outcome( - monkeypatch, tmp_path, outcome +def test_graph_publication_precedes_emitter_shutdown_after_an_outcome( + tmp_path, outcome ): - from test_support.microcosm_build.telemetry import FakeTelemetryEmitter - - operations, queries = [], [] - telemetry = FakeTelemetryEmitter(adapter.TelemetryRun("synthetic", "uk", "full")) - inventory = {"version": 1, "publication_id": "synthetic", "files": []} - - def request(message, **options): - operations.append(message["command"]) - queries.append(message) - if message["command"] == "inventory": - return {"inventory": inventory} - return { - "receipt": { - "version": 1, - "publication_id": "synthetic", - "status": "pending", - "attempts": 1, - "error_code": None, - } - } - - def for_module(name): - return { - "telemetry": telemetry, - "orrery": SimpleNamespace(request=request), - }[name] - - handle = SimpleNamespace( - client=SimpleNamespace(for_module=for_module), - close=lambda: operations.append("close"), - ) - monkeypatch.setattr(adapter, "start_services", lambda *a, **k: handle) - monkeypatch.setattr(adapter, "runtime_identity", lambda: {"commit": "synthetic"}) - emitter = START( - adapter.LocalTelemetryEmitter, - run_id="synthetic", - country_code="uk", - pipeline="full", - spool_path=tmp_path / "queue.sqlite3", + client = FakeEmitterClient() + emitter = adapter.LocalTelemetryEmitter( + run=adapter.TelemetryRun("synthetic", "uk", "full"), + client=client, close_service_on_finish=False, ) emitter.transition_stage("solve") @@ -310,85 +251,140 @@ def for_module(name): phase="post_calibration", blocking_gate_ids=["uk.local.fit"], blocking_failure_count=3, - gate_statuses={"uk.local.fit": "FAIL"}, ) elif outcome == "failed": - emitter.fail( - ValueError("synthetic validation refusal"), - error_code="BUILD_REFUSED", - failure_class="refused", - failed_during="solve", - ) + emitter.fail(ValueError("synthetic refusal"), error_code="BUILD_REFUSED") else: emitter.complete() - assert operations == [] + + # Recording the outcome leaves the emitter running for later hand-overs. + assert "close" not in client.calls assert emitter.available - final_events = [event for event in telemetry.events if event["event_type"] == "run"] - assert [event["status"] for event in final_events] == [outcome] - if outcome == "blocked": - assert final_events[0]["details"] == { - "phase": "post_calibration", - "blocking_gate_ids": ["uk.local.fit"], - "blocking_failure_count": 3, - "gate_statuses": {"uk.local.fit": "FAIL"}, - } - assert telemetry.events[-2]["event_type"] == "stage" - assert telemetry.events[-2]["status"] == "completed" - elif outcome == "failed": - assert final_events[0]["details"]["error_code"] == "BUILD_REFUSED" - assert final_events[0]["details"]["failure_class"] == "refused" - assert final_events[0]["details"]["failed_during"] == "solve" - # A completed telemetry lifecycle must not prevent requests on the other - # module; the existing build finally owns physical service shutdown. - try: - assert emitter.publication_inventory(tmp_path, {}) == inventory - assert emitter.publish_graph(tmp_path, inventory, wait_seconds=0)["status"] == ( - "pending" - ) - finally: - emitter.close() + (tmp_path / "graph.orrery.json").write_text("{}") + inventory = emitter.publication_inventory(tmp_path, {"graph.orrery.json": "graph"}) + assert inventory is not None + assert inventory["files"][0]["name"] == "graph.orrery.json" + assert emitter.publish_graph(tmp_path, inventory, wait_seconds=0)["status"] == ( + "pending" + ) + emitter.close() emitter.close() - assert [query["command"] for query in queries] == ["inventory", "enqueue"] - assert operations == ["inventory", "enqueue", "close"] + assert client.calls[-3:] == [ + "orrery_inventory", + "hand_over_orrery_inputs", + "close", + ] + assert client.calls.count("close") == 1 assert not emitter.available - assert ( - len([event for event in telemetry.events if event["event_type"] == "run"]) == 1 - ) -@pytest.mark.parametrize("outcome", ["complete", "fail"]) -def test_default_finish_releases_host_without_an_outer_build_cleanup(outcome): - closed = [] +@pytest.mark.parametrize("outcome", ["complete", "fail", "block"]) +def test_by_default_an_outcome_shuts_the_emitter_down(outcome): + client = FakeEmitterClient() emitter = adapter.LocalTelemetryEmitter( - run=adapter.TelemetryRun("synthetic", "us", "release"), - transport=SimpleNamespace(send=lambda message: None), - handle=SimpleNamespace(close=lambda: closed.append(True)), + run=adapter.TelemetryRun("synthetic", "us", "release"), client=client ) if outcome == "complete": emitter.complete() - else: + elif outcome == "fail": emitter.fail(ValueError("synthetic failure"), error_code="BUILD_FAILED") - assert closed == [True] + else: + emitter.block(phase="preflight", blocking_gate_ids=[], blocking_failure_count=1) + + assert client.closed assert not emitter.available emitter.close() - assert closed == [True] + assert client.calls.count("close") == 1 -@pytest.mark.parametrize("outcome", ["block", "fail"]) -def test_outcome_on_disabled_transport_is_safe_and_cannot_restart_service( - monkeypatch, outcome -): - monkeypatch.setattr( - adapter, - "start_services", - lambda *a, **k: pytest.fail("outcome started a replacement service"), - ) +def test_an_unavailable_emitter_answers_without_raising(tmp_path): emitter = adapter.LocalTelemetryEmitter( - run=adapter.TelemetryRun("synthetic", "uk", "full"), transport=None + run=adapter.TelemetryRun("run-one", "uk", "full"), client=None ) - if outcome == "block": - emitter.block(phase="preflight", blocking_gate_ids=[], blocking_failure_count=1) - else: - emitter.fail(ValueError("refused"), error_code="BUILD_REFUSED") + value = {"version": 1, "publication_id": "independent", "files": []} + assert not emitter.available + emitter.stage("one") + assert emitter.publication_inventory(tmp_path, {}) is None + assert emitter.publish_graph(tmp_path, value, wait_seconds=0) == { + "version": 1, + "publication_id": "independent", + "status": "failed", + "error_code": "local_service_unavailable", + } + emitter.block(phase="preflight", blocking_gate_ids=[], blocking_failure_count=1) emitter.close() + assert list(tmp_path.iterdir()) == [] + + +@pytest.mark.parametrize("operation", ["inventory", "publish"]) +def test_graph_requests_without_a_build_emitter_use_a_short_lived_one( + monkeypatch, tmp_path, operation +): + client = FakeEmitterClient(modules={"orrery"}) + starts = _record_starts(monkeypatch, client) + (tmp_path / "graph.orrery.json").write_text("{}") + roles = {"graph.orrery.json": "graph"} + + if operation == "inventory": + inventory = adapter.publication_inventory(tmp_path, roles) + assert inventory is not None + assert inventory["files"][0]["role"] == "graph" + else: + inventory = {"version": 1, "publication_id": "independent", "files": []} + receipt = adapter.publish_graph(tmp_path, inventory, wait_seconds=0) + assert receipt["status"] == "pending" + + assert len(starts) == 1 + assert set(starts[0]) >= {"orrery"} + assert starts[0].get("telemetry") is None + assert starts[0].get("hugging_face") is None + assert isinstance(starts[0]["orrery"], OrrerySettings) + assert client.calls[-1] == "close" + + +def test_default_test_emitter_records_requests_in_memory(fake_telemetry_emitters): + emitter = adapter.LocalTelemetryEmitter.start( + run_id="run-one", country_code="uk", pipeline="full" + ) + emitter.stage("one") + emitter.complete() + assert not emitter.available + assert emitter.events[0]["stage_id"] == "one" + assert emitter.events[-1]["event_type"] == "run" + assert emitter.events[-1]["status"] == "completed" + + +def test_fixture_intercepts_preimported_build_entrypoint( + monkeypatch, fake_telemetry_emitters +): + from microcosm.build.uk_runtime import rowwise_staging + from test_support.microcosm_build.telemetry import FakeTelemetryEmitter + + def fail(*args, **kwargs): + pytest.fail("test started a real emitter") + + monkeypatch.setattr(adapter.EmitterClient, "start", classmethod(fail)) + for start in ( + rowwise_staging.start_local_telemetry_emitter_service, + adapter.LocalTelemetryEmitter.start, + ): + emitter = start(run_id="fake", country_code="GB", pipeline="test") + assert isinstance(emitter, FakeTelemetryEmitter) + assert emitter in fake_telemetry_emitters + + +def test_fixture_forbids_starting_the_installed_emitter(tmp_path): + with pytest.raises(pytest.fail.Exception, match="real emitter"): + EmitterClient.start( + orrery=OrrerySettings(), spool_path=tmp_path / "events.sqlite3" + ) + + +def test_fixture_isolates_cached_huggingface_credentials(tmp_path): + from pathlib import Path + + from huggingface_hub import constants, get_token + + assert Path(constants.HF_TOKEN_PATH).is_relative_to(tmp_path) + assert get_token() is None diff --git a/test_support/microcosm_build/emitter.py b/test_support/microcosm_build/emitter.py new file mode 100644 index 0000000000..74504197d8 --- /dev/null +++ b/test_support/microcosm_build/emitter.py @@ -0,0 +1,286 @@ +"""An in-memory stand-in for the interface package's ``EmitterClient``. + +Build tests hand telemetry events, staging run files and Orrery inputs to it +instead of to the separately installed ``microcosm-emitter`` command. It +answers as the emitter documents those calls, without a process, socket, +database or network request: + +- each accepted ``stage_run_files`` hand-over is committed at once, and + ``hub_files`` holds what the dataset repository would then contain; +- ``read_back_run_files`` compares ``hub_files`` with the bytes this fake + committed, so a test can alter ``hub_files`` to stand for a Hub copy that + differs; +- Orrery inventories measure the named files, and hand-overs answer + ``pending``. + +The emitter's own tests cover the process, its queues and the Hub. +""" + +from __future__ import annotations + +import hashlib +import json +import uuid +from collections.abc import Iterable, Mapping +from pathlib import Path +from typing import Any + +from microcosm_emitter_interface import StageRunFiles +from microcosm_emitter_interface.orrery import ( + PublicationFileRole, + PublicationInventory, + PublicationReceipt, + publication_id_of, + unavailable_receipt, +) +from microcosm_emitter_interface.staging import ( + ReadBackResult, + RunFilesReceipt, + unavailable_read_back, + unavailable_run_files_receipt, +) +from microcosm_emitter_interface.telemetry import ( + TelemetryCommand, + TelemetryRecorder, + telemetry_message, +) + +ALL_MODULES = frozenset({"telemetry", "orrery", "huggingface"}) +LATEST_POINTER_PATH = "latest_staging.json" +RUNS_INDEX_PATH = "runs.json" + + +def fake_publication_inventory( + directory: Path, + roles: Mapping[str, PublicationFileRole], + publication_id: str | None = None, +) -> PublicationInventory: + """Measure the named files as the emitter's inventory does, in name order.""" + return { + "version": 1, + "publication_id": publication_id or uuid.uuid4().hex, + "files": [ + { + "name": name, + "role": role, + "bytes": (Path(directory) / name).stat().st_size, + "sha256": hashlib.sha256( + (Path(directory) / name).read_bytes() + ).hexdigest(), + } + for name, role in sorted(roles.items()) + ], + } + + +class FakeEmitterClient: + """The ``EmitterClient`` calls Microcosm makes, answered in memory. + + ``accept_run_files=False`` stands for an emitter that does not answer a + staging hand-over in time: each one returns an ``unavailable`` receipt, + as the interface does after a timeout. + """ + + emitter_version = "0.7.0" + + def __init__( + self, + *, + modules: Iterable[str] = ALL_MODULES, + accept_run_files: bool = True, + ) -> None: + self._modules = frozenset(modules) + self.accept_run_files = accept_run_files + self.closed = False + self.startup_error = None + self.last_failure = None + #: Every call's name, in order. + self.calls: list[str] = [] + self.telemetry_messages: list[dict[str, Any]] = [] + self.run_file_requests: list[StageRunFiles] = [] + self.orrery_requests: list[dict[str, Any]] = [] + #: What the dataset repositories hold: ``(repository, path)`` to bytes. + self.hub_files: dict[tuple[str, str], bytes] = {} + #: Override for ``read_back_run_files``, when a test needs one. + self.read_back_answer: ReadBackResult | None = None + self._committed: dict[tuple[str, str], tuple[str, str]] = {} + self._deliveries: dict[tuple[str, str], dict[str, Any]] = {} + self.telemetry = TelemetryRecorder(self) + + @property + def available(self) -> bool: + return bool(self._modules) and not self.closed + + @property + def modules(self) -> frozenset[str]: + return self._modules if self.available else frozenset() + + def paths(self, repository: str) -> list[str]: + return sorted(path for repo, path in self.hub_files if repo == repository) + + def hub_json(self, repository: str, path: str) -> Any: + return json.loads(self.hub_files[(repository, path)]) + + # Telemetry --------------------------------------------------------------- + + def emit_telemetry(self, command: TelemetryCommand) -> bool: + self.calls.append("emit_telemetry") + if "telemetry" not in self.modules: + return False + self.telemetry_messages.append(telemetry_message(command)) + return True + + # Staging run files --------------------------------------------------------- + + def _delivery(self, repository: str, run_id: str) -> dict[str, Any]: + return self._deliveries.setdefault( + (repository, run_id), + { + "files_attempted": 0, + "files_committed": 0, + "commit_attempts": 0, + "commits": 0, + "last_error_code": None, + "last_commit": None, + }, + ) + + def _receipt(self, repository: str, run_id: str) -> RunFilesReceipt: + return { + "status": "recorded", + "repository": repository, + "run_id": run_id, + "pending_files": 0, + **self._delivery(repository, run_id), + } + + def stage_run_files(self, request: StageRunFiles) -> RunFilesReceipt: + self.calls.append("stage_run_files") + self.run_file_requests.append(request) + if "huggingface" not in self.modules or not self.accept_run_files: + return unavailable_run_files_receipt(request.repository, request.run_id) + targets = [ + (f"{request.prefix}/{request.run_id}/{item.relative_path}", item.local_path) + for item in request.files + ] + if request.latest_pointer is not None: + targets.append((LATEST_POINTER_PATH, request.latest_pointer)) + for path_in_repo, local_path in targets: + content = Path(local_path).read_bytes() + self.hub_files[(request.repository, path_in_repo)] = content + self._committed[(request.repository, path_in_repo)] = ( + request.run_id, + hashlib.sha256(content).hexdigest(), + ) + committed = len(targets) + if request.run_index_entry is not None: + self._merge_runs_index(request.repository, dict(request.run_index_entry)) + committed += 1 + delivery = self._delivery(request.repository, request.run_id) + if committed: + delivery["files_attempted"] += committed + delivery["files_committed"] += committed + delivery["commit_attempts"] += 1 + delivery["commits"] += 1 + delivery["last_commit"] = hashlib.sha1( + str(len(self.run_file_requests)).encode() + ).hexdigest() + return self._receipt(request.repository, request.run_id) + + def _merge_runs_index(self, repository: str, entry: dict[str, Any]) -> None: + existing = self.hub_files.get((repository, RUNS_INDEX_PATH)) + runs = [] if existing is None else json.loads(existing).get("runs", []) + runs = [run for run in runs if run.get("run_id") != entry["run_id"]] + runs.append(entry) + runs.sort( + key=lambda run: str( + run.get("updated_at") or run.get("started_at") or run.get("run_id") + ), + reverse=True, + ) + self.hub_files[(repository, RUNS_INDEX_PATH)] = json.dumps( + {"schema_version": 1, "updated_at": entry.get("updated_at"), "runs": runs}, + indent=1, + ).encode() + + def run_files_receipt(self, repository: str, run_id: str) -> RunFilesReceipt: + self.calls.append("run_files_receipt") + if "huggingface" not in self.modules: + return unavailable_run_files_receipt(repository, run_id) + return self._receipt(repository, run_id) + + def read_back_run_files( + self, repository: str, run_id: str, *, wait_seconds: float = 30.0 + ) -> ReadBackResult: + self.calls.append("read_back_run_files") + if "huggingface" not in self.modules: + return unavailable_read_back() + if self.read_back_answer is not None: + return self.read_back_answer + committed = { + path: digest + for (repo, path), (owner, digest) in self._committed.items() + if repo == repository and owner == run_id + } + if not committed: + return { + "status": "failed", + "files": 0, + "mismatched_paths": [], + "error_code": "NO_COMMITTED_FILES", + } + mismatched = [ + path + for path, digest in sorted(committed.items()) + if hashlib.sha256(self.hub_files.get((repository, path), b"")).hexdigest() + != digest + ] + return { + "status": "failed" if mismatched else "passed", + "files": len(committed), + "mismatched_paths": mismatched, + "error_code": None, + } + + # Orrery inputs ------------------------------------------------------------- + + def orrery_inventory( + self, + directory: Path, + roles: Mapping[str, PublicationFileRole], + *, + publication_id: str | None = None, + ) -> PublicationInventory | None: + self.calls.append("orrery_inventory") + if "orrery" not in self.modules: + return None + return fake_publication_inventory(directory, roles, publication_id) + + def hand_over_orrery_inputs( + self, + directory: Path, + inventory: PublicationInventory, + *, + wait_seconds: float = 30.0, + ) -> PublicationReceipt: + self.calls.append("hand_over_orrery_inputs") + publication_id = publication_id_of(inventory) + if "orrery" not in self.modules: + return unavailable_receipt(publication_id) + self.orrery_requests.append( + { + "action": "graph_publication", + "directory": str(directory), + "inventory": inventory, + } + ) + return { + "version": 1, + "publication_id": publication_id, + "status": "pending", + "error_code": None, + } + + def close(self) -> None: + self.calls.append("close") + self.closed = True From 769b6723dcc004c551b75444d9c90328e6142d32 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:25:29 +0400 Subject: [PATCH 08/67] Start the installed emitter through microcosm-emitter-interface microcosm-build now depends on microcosm-emitter-interface (>=0.7.0,<1) instead of the exact microcosm-emitter==0.2.1 pin. The build adapter starts the separately installed microcosm-emitter command as the build's child process through the interface's EmitterClient, with the telemetry, Orrery and Hugging Face modules. The child inherits the build's environment, so it finds the same Hugging Face credential; its settings go on standard input. Telemetry requests keep their fields. A missing or failing emitter leaves the build running without it. Graph requests made without a build emitter start a short-lived emitter that runs only the Orrery module. uv.lock drops microcosm-emitter, alembic, mako and sqlalchemy and adds microcosm-emitter-interface 0.7.0; APPROVED_UV_LOCK_SHA256 is re-pinned. Test support replaces the emitter's in-process lifecycle with the documented request-to-event rules over an in-memory client. Co-Authored-By: Claude Opus 5.5 --- conftest.py | 7 +- packages/microcosm-build/pyproject.toml | 7 +- .../src/microcosm/build/telemetry_emitter.py | 328 ++++++++++++++---- .../build/uk_runtime/orrery_publication.py | 4 +- .../build/us_runtime/worker_identity.py | 2 +- .../uk/test_uk_orrery_reconstruction.py | 7 +- test_support/microcosm_build/telemetry.py | 264 +++++++++++--- uv.lock | 107 +----- 8 files changed, 493 insertions(+), 233 deletions(-) diff --git a/conftest.py b/conftest.py index f434d79435..9e3708cf47 100644 --- a/conftest.py +++ b/conftest.py @@ -73,7 +73,7 @@ def pytest_collection_modifyitems(items) -> None: def fake_telemetry_emitters(monkeypatch, tmp_path): """Default every workspace test to in-memory telemetry, never production.""" from huggingface_hub import constants as hf_constants - from microcosm_emitter.host import launcher + from microcosm_emitter_interface import client as emitter_interface_client from microcosm.build import telemetry_emitter from microcosm.build.uk_runtime import orrery_publication @@ -116,9 +116,10 @@ def start(_cls, **kwargs): monkeypatch.setattr(orrery_publication, "publish_graph", fake_publish_graph) def unexpected_start(*args, **options): - pytest.fail("A build test tried to start a real emitter service") + pytest.fail("A build test tried to start a real emitter") - monkeypatch.setattr(launcher, "start_services", unexpected_start) + # Every interface client starts the installed command through this name. + monkeypatch.setattr(emitter_interface_client, "start_emitter", unexpected_start) # Reset any cached handle left by a previously loaded build entrypoint. for module in tuple(sys.modules.values()): if isinstance( diff --git a/packages/microcosm-build/pyproject.toml b/packages/microcosm-build/pyproject.toml index a294022a97..b323f7f77b 100644 --- a/packages/microcosm-build/pyproject.toml +++ b/packages/microcosm-build/pyproject.toml @@ -24,7 +24,12 @@ dependencies = [ "pyyaml>=6", "jsonschema>=4.23,<5", "referencing>=0.35,<1", - "microcosm-emitter==0.2.1", + # The typed calls a build makes to the local emitter. The emitter itself, + # `microcosm-emitter`, is installed on its own (`uv tool install + # microcosm-emitter`) and started as the build's child process, so an + # emitter release needs no change here. The socket protocol carries its + # own version, and every emitter release accepts the versions in use. + "microcosm-emitter-interface>=0.7.0,<1", ] [project.optional-dependencies] diff --git a/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py b/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py index 31f3c893ef..f7ea09265b 100644 --- a/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py +++ b/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py @@ -1,58 +1,92 @@ -"""Microcosm metadata adapter for the independently packaged local emitter.""" +"""Microcosm's build adapter for the separately installed local emitter. + +A build imports only ``microcosm-emitter-interface``. Starting the adapter +starts the ``microcosm-emitter`` command, installed on its own (for example +``uv tool install microcosm-emitter``), as this build's child process, with +three modules: telemetry, Orrery graph publication, and the Hugging Face +hand-over of staging run files. The interface finds the command through +``MICROCOSM_EMITTER_COMMAND``, then ``PATH``. + +The child inherits the build's environment variables and runs as the same +user, so it finds the build's Hugging Face credential (``HF_TOKEN``, then +``HUGGINGFACE_TOKEN``, then the token saved by ``hf auth login``). Its module +settings travel on its standard input, never in environment variables or +process arguments. No call raises into the build: a missing, slow or +refusing emitter leaves the build running without it. +""" from __future__ import annotations import sys -from collections.abc import Mapping +from collections.abc import Mapping, Sequence from pathlib import Path from typing import Any -from microcosm_emitter.host.launcher import start_services -from microcosm_emitter.orrery.client import ( - GraphPublicationClient, +from microcosm_emitter_interface import ( + EmitterClient, + HuggingFaceSettings, + OrrerySettings, + TelemetryRun, + TelemetrySettings, default_spool_path, - publish_graph, ) -from microcosm_emitter.orrery.contracts import ( +from microcosm_emitter_interface.orrery import ( PublicationFileRole, PublicationInventory, PublicationReceipt, + publication_id_of, + unavailable_receipt, ) -from microcosm_emitter.telemetry.client import ( - LocalTelemetryEmitter as EmitterTelemetryClient, -) -from microcosm_emitter.telemetry.client import ( - TelemetryRun, -) -from microcosm_emitter.telemetry.constants import ( +from microcosm_emitter_interface.telemetry import ( + DEFAULT_FAILURE_CLASS, DEFAULT_HEARTBEAT_SECONDS, - SERVICE_START_WARNING, + TelemetryEventType, + TelemetryStatus, ) from microcosm.build.telemetry_identity import runtime_identity +__all__ = [ + "DEFAULT_HEARTBEAT_SECONDS", + "EmitterClient", + "LocalTelemetryEmitter", + "TelemetryRun", + "publication_inventory", + "publish_graph", + "start_local_telemetry_emitter_service", +] + +SETUP_WARNING = ( + "Local Microcosm emitter was not started ({error_type}); the build will continue." +) +#: The emitter took about four seconds to become ready on an M1 Max; this is +#: only a ceiling on the wait. +STARTUP_TIMEOUT_SECONDS = 15.0 + + +class LocalTelemetryEmitter: + """One build's emitter: its telemetry run and the client that reaches it. + + ``client`` is the interface's ``EmitterClient`` for the emitter this build + started, or ``None`` when the build could not prepare one. Staging writers + hand their run files to the same client. -class LocalTelemetryEmitter(EmitterTelemetryClient): - """Supply build identity and select both workers in one emitter process.""" + Recording the run's outcome (``complete``, ``fail`` or ``block``) shuts + the emitter down unless ``close_service_on_finish`` is false; a build that + still hands work over afterwards passes false and calls ``close``. + """ def __init__( self, *, - run, - transport, - handle=None, - graph_client=None, + run: TelemetryRun, + client: EmitterClient | None, close_service_on_finish: bool = True, - ): - super().__init__( - run=run, - transport=transport, - handle=handle, - close_service_on_finish=close_service_on_finish, - ) - self._graph_client = ( - graph_client if graph_client is not None else GraphPublicationClient() - ) + ) -> None: + self.run = run + self.client = client + self._close_service_on_finish = close_service_on_finish + self._closed = False @classmethod def start( @@ -66,12 +100,11 @@ def start( run_kind: str = "build", development_collector_url: str | None = None, heartbeat_seconds: float = DEFAULT_HEARTBEAT_SECONDS, - # The service took about four seconds to become ready on an M1 Max, - # past the provider's three-second default; this is only a ceiling. - startup_timeout_seconds: float = 15.0, + startup_timeout_seconds: float = STARTUP_TIMEOUT_SECONDS, spool_path: Path | str | None = None, close_service_on_finish: bool = True, ) -> LocalTelemetryEmitter: + """Start the installed emitter; a failure leaves an unavailable adapter.""" run = TelemetryRun( run_id=run_id, country_code=country_code, @@ -83,45 +116,168 @@ def start( try: path = Path(spool_path) if spool_path else default_spool_path() identity = runtime_identity() - shared = { - "spool_path": str(path), - "development_collector_url": development_collector_url, - } - handle = start_services( - { - "telemetry": { - **shared, - "registration": run.as_registration(), - "identity": identity, - "heartbeat_seconds": heartbeat_seconds, - }, - "orrery": shared, - }, - startup_timeout=startup_timeout_seconds, - ) except Exception as error: print( - SERVICE_START_WARNING.format(error_type=type(error).__name__), + SETUP_WARNING.format(error_type=type(error).__name__), file=sys.stderr, ) return cls( - run=run, - transport=None, - close_service_on_finish=close_service_on_finish, + run=run, client=None, close_service_on_finish=close_service_on_finish ) + client = EmitterClient.start( + telemetry=TelemetrySettings( + run=run, + identity=identity, + development_collector_url=development_collector_url, + heartbeat_seconds=heartbeat_seconds, + ), + orrery=OrrerySettings(development_collector_url=development_collector_url), + # Its queue is the hand-over database beside the spool database + # (``events.handovers.sqlite3``), so emitters of every release can + # share the spool database on one machine. + hugging_face=HuggingFaceSettings(), + spool_path=path, + startup_timeout=startup_timeout_seconds, + ) return cls( - run=run, - transport=handle.client.for_module("telemetry"), - handle=handle, - graph_client=GraphPublicationClient(handle.client.for_module("orrery")), - close_service_on_finish=close_service_on_finish, + run=run, client=client, close_service_on_finish=close_service_on_finish ) + @property + def available(self) -> bool: + """Whether this build's emitter is running and not yet closed.""" + return self.client is not None and self.client.available and not self._closed + + def _telemetry(self): + return self.client.telemetry if self.available else None + + def emit( + self, + *, + event_type: TelemetryEventType, + status: TelemetryStatus, + stage_id: str | None = None, + message: str | None = None, + details: Mapping[str, Any] | None = None, + ) -> None: + if (telemetry := self._telemetry()) is not None: + telemetry.emit( + event_type=event_type, + status=status, + stage_id=stage_id, + message=message, + details=details, + ) + + def stage( + self, + stage_id: str, + *, + status: TelemetryStatus = "started", + message: str | None = None, + **details: Any, + ) -> None: + if (telemetry := self._telemetry()) is not None: + telemetry.stage(stage_id, status=status, message=message, **details) + + def transition_stage( + self, + stage_id: str, + *, + status: str = "running", + message: str | None = None, + **details: Any, + ) -> None: + if (telemetry := self._telemetry()) is not None: + telemetry.transition_stage( + stage_id, status=status, message=message, **details + ) + + def progress( + self, + stage_id: str, + *, + done: int, + total: int, + unit: str | None = None, + **details: Any, + ) -> None: + if (telemetry := self._telemetry()) is not None: + telemetry.progress(stage_id, done=done, total=total, unit=unit, **details) + + def calibration_progress(self, event: Mapping[str, Any]) -> None: + if (telemetry := self._telemetry()) is not None: + telemetry.calibration_progress(event) + + def transition_calibration_progress(self, event: Mapping[str, Any]) -> None: + if (telemetry := self._telemetry()) is not None: + telemetry.transition_calibration_progress(event) + + def fail( + self, + error: BaseException, + *, + failed_during: str | None = None, + failure_class: str = DEFAULT_FAILURE_CLASS, + error_code: str | None = None, + ) -> None: + try: + if (telemetry := self._telemetry()) is not None: + telemetry.fail( + error, + failed_during=failed_during, + failure_class=failure_class, + error_code=error_code, + ) + finally: + self._finish() + + def block( + self, + *, + phase: str, + blocking_gate_ids: Sequence[str], + blocking_failure_count: int | None = None, + gate_statuses: Mapping[str, str] | None = None, + ) -> None: + """Record that the build's validation checks refused its candidate.""" + try: + if (telemetry := self._telemetry()) is not None: + telemetry.refuse( + phase=phase, + refusing_check_ids=list(blocking_gate_ids), + refusing_check_count=blocking_failure_count, + check_statuses=gate_statuses, + ) + finally: + self._finish() + + def complete(self) -> None: + try: + if (telemetry := self._telemetry()) is not None: + telemetry.complete() + finally: + self._finish() + + def _finish(self) -> None: + if self._close_service_on_finish: + self.close() + + def close(self) -> None: + """Ask the emitter to finish its hand-overs and stop; repeats do nothing.""" + if self._closed: + return + self._closed = True + if self.client is not None: + self.client.close() + def publication_inventory( self, directory: Path, roles: Mapping[str, PublicationFileRole] ) -> PublicationInventory | None: - """Ask the existing graph worker to measure selected public files.""" - return self._graph_client.inventory(directory, roles) + """Ask this build's emitter to measure selected public files.""" + if not self.available: + return None + return self.client.orrery_inventory(directory, roles) def publish_graph( self, @@ -130,14 +286,52 @@ def publish_graph( *, wait_seconds: float = 30.0, ) -> PublicationReceipt: - return publish_graph( - directory, - inventory, - client=self._graph_client, - wait_seconds=wait_seconds, + """Queue the measured files; wait only after the emitter queued them.""" + if not self.available: + return unavailable_receipt(publication_id_of(inventory)) + return self.client.hand_over_orrery_inputs( + directory, inventory, wait_seconds=wait_seconds + ) + + +def _orrery_emitter() -> EmitterClient: + """A short-lived emitter that runs only the Orrery module.""" + return EmitterClient.start( + orrery=OrrerySettings(), startup_timeout=STARTUP_TIMEOUT_SECONDS + ) + + +def publication_inventory( + directory: Path, roles: Mapping[str, PublicationFileRole] +) -> PublicationInventory | None: + """Measure graph files when the build has no emitter of its own.""" + client = _orrery_emitter() + try: + return client.orrery_inventory(directory, roles) + finally: + client.close() + + +def publish_graph( + directory: Path, + inventory: PublicationInventory, + *, + wait_seconds: float = 30.0, +) -> PublicationReceipt: + """Queue graph files when the build has no emitter of its own. + + The emitter's queue is durable, so a pending job is delivered by a later + emitter or by ``microcosm-emitter-publish-graph``. + """ + client = _orrery_emitter() + try: + return client.hand_over_orrery_inputs( + directory, inventory, wait_seconds=wait_seconds ) + finally: + client.close() def start_local_telemetry_emitter_service(**run: Any) -> LocalTelemetryEmitter: - """Construct the build adapter without importing emitter service internals.""" + """Start this build's emitter through the interface.""" return LocalTelemetryEmitter.start(**run) diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/orrery_publication.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/orrery_publication.py index 67518dc5ec..abd1a444f7 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/orrery_publication.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/orrery_publication.py @@ -15,14 +15,14 @@ from pathlib import Path from typing import Any, TypedDict -from microcosm_emitter.orrery.client import publication_inventory, publish_graph -from microcosm_emitter.orrery.contracts import ( +from microcosm_emitter_interface.orrery import ( PublicationFileRole, PublicationReceipt, ) from microcosm.build.artifact_files import file_artifact, materialize_bytes from microcosm.build.staging_dataset import StagedDatasetDelivery +from microcosm.build.telemetry_emitter import publication_inventory, publish_graph from microcosm.graph import ContentStore from microcosm.graph.canonical import canonical_json from microcosm.graph.evidence import collect_execution_evidence, load_run_evidence diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/worker_identity.py b/packages/microcosm-build/src/microcosm/build/us_runtime/worker_identity.py index ec87cdeda2..a09c463a82 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/worker_identity.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/worker_identity.py @@ -28,7 +28,7 @@ PRIMARY_QRF_WORKER_MODULE = "microcosm.build.us_runtime.puf_qrf_worker" PRIMARY_QRF_INTERPRETER_PLACEHOLDER = "{python_interpreter}" APPROVED_UV_LOCK_SHA256 = ( - "11f43fd15e9b69d8db244319de8df24ee390e0ad1dddbddb0ee4edae72b0204f" + "1ef02ea3a285decca8ff75d3fc70e4350c0a1a023e89f290cd3dfa84450cfdb6" ) LEGACY_CAMPAIGN_UV_LOCK_SHA256 = ( "27f47e385cfa35e2644a37410d1804b361ad9aee123577551c8421547bda65ee" diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_orrery_reconstruction.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_orrery_reconstruction.py index ede92261ca..1127b21d4d 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_orrery_reconstruction.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_orrery_reconstruction.py @@ -17,7 +17,6 @@ from pathlib import Path import pytest -from microcosm_emitter.orrery.service.queue import publication_inventory from microcosm.build.country_spec import load_country_spec from microcosm.build.staging_dataset import refresh_sha256sums_entry @@ -44,6 +43,7 @@ ) from microcosm.graph.schema import validate_graph_schema from microcosm.graph.serialize import graph_to_json +from test_support.microcosm_build.emitter import fake_publication_inventory from test_support.paths import paths_for _RECONSTRUCTION_VERIFY = ( @@ -259,8 +259,9 @@ def test_dense_build_reconstructs_the_normal_publication_layout(tmp_path): ) inventory = read_json(output / INVENTORY_NAME) # The emitter recomputes the inventory before it queues a directory; the - # reconstructed one must be exactly what it would compute. - assert inventory == publication_inventory( + # reconstructed one must be exactly what it would compute: each named + # file's role, size and SHA-256, in name order. + assert inventory == fake_publication_inventory( output, {GRAPH_NAME: "graph", SCHEMA_NAME: "schema"}, publication_id=inventory["publication_id"], diff --git a/test_support/microcosm_build/telemetry.py b/test_support/microcosm_build/telemetry.py index 8cd80791be..b3f81d9626 100644 --- a/test_support/microcosm_build/telemetry.py +++ b/test_support/microcosm_build/telemetry.py @@ -1,43 +1,62 @@ -"""In-memory telemetry and synthetic graph requests for build tests.""" +"""In-memory telemetry and synthetic graph requests for build tests. + +``FakeTelemetryEmitter`` is Microcosm's real adapter over an in-memory +``EmitterClient`` (:mod:`test_support.microcosm_build.emitter`). Its +``events`` apply the rules the emitter's telemetry service documents for +turning requests into events, so tests can read run outcomes without the +emitter installed: + +- a stage transition finishes the current transition stage, if it is a + different one, and starts the new one; +- the first calibration epoch sent with ``transition`` moves to the + ``calibrating`` stage; +- ``complete`` and ``block`` finish the current stage, ``fail`` fails it, + and each then records the run's outcome; +- requests after the outcome make no events. + +Events carry no timestamps and are not sanitized; the emitter's own tests +cover both. +""" from __future__ import annotations -import hashlib import uuid -from collections.abc import Mapping +from collections.abc import Mapping, Sequence from pathlib import Path from typing import Any -from microcosm_emitter.orrery.contracts import ( +from microcosm_emitter_interface.orrery import ( PublicationFileRole, PublicationInventory, PublicationReceipt, ) -from microcosm_emitter.telemetry.service.lifecycle import ( - LifecycleState, - process_request, -) from microcosm.build.telemetry_emitter import LocalTelemetryEmitter, TelemetryRun +from test_support.microcosm_build.emitter import ( + FakeEmitterClient, +) +from test_support.microcosm_build.emitter import ( + fake_publication_inventory as _measured_inventory, +) + +BUILD_COMPLETED_MESSAGE = "Microcosm build completed." +BUILD_BLOCKED_MESSAGE = "Validation checks refused the candidate at {phase}." +#: How the service reads a transition's status. +_TRANSITION_STATUSES = { + "failed": "failed", + "completed": "completed", + "passed": "completed", + "progress": "progress", + "started": "started", + "running": "started", +} def fake_publication_inventory( directory: Path, roles: Mapping[str, PublicationFileRole] ) -> PublicationInventory: - """Measure only synthetic test files without starting an emitter service.""" - return { - "version": 1, - "publication_id": uuid.uuid4().hex, - "files": [ - { - "name": name, - "role": role, - "bytes": (directory / name).stat().st_size, - "sha256": hashlib.sha256((directory / name).read_bytes()).hexdigest(), - } - for name, role in sorted(roles.items()) - ], - } + """Measure only synthetic test files without starting an emitter.""" + return _measured_inventory(directory, roles, uuid.uuid4().hex) def fake_publish_graph( @@ -55,48 +74,183 @@ def fake_publish_graph( } -class FakeTelemetryEmitter(LocalTelemetryEmitter): - """Exercise real lifecycle methods without starting a service or socket.""" +class _Lifecycle: + """The emitter service's request-to-event rules, without its storage.""" - def __init__( - self, run: TelemetryRun, *, close_service_on_finish: bool = True + def __init__(self) -> None: + self.transition_stage: str | None = None + self.last_stage = "created" + self.finished = False + self.events: list[dict[str, Any]] = [] + + def apply(self, request: Mapping[str, Any]) -> None: + if self.finished: + return + command = request["command"] + if command == "emit": + self._add( + request["event_type"], + request["status"], + request.get("stage_id"), + request.get("message"), + request.get("details") or {}, + ) + elif command == "stage": + self._add( + "stage", + request.get("status", "started"), + request["stage_id"], + request.get("message"), + request.get("details") or {}, + ) + elif command == "transition_stage": + self._transition(request) + elif command == "progress": + self._add( + "progress", + "progress", + request["stage_id"], + details={ + "done": request["done"], + "total": request["total"], + "unit": request.get("unit"), + **(request.get("details") or {}), + }, + ) + elif command in {"calibration_progress", "transition_calibration_progress"}: + event = request["event"] + if event.get("kind") == "calibration_epoch": + if ( + command == "transition_calibration_progress" + and self.transition_stage != "calibrating" + ): + self._transition({"stage_id": "calibrating"}) + self._add("calibration", "progress", "calibrating", details=event) + elif command == "fail": + details = { + "error_type": request.get("error_type"), + "failure_class": request.get("failure_class", "build_failure"), + "failed_during": request.get("failed_during") + or self.transition_stage + or self.last_stage, + } + if request.get("error_code") is not None: + details["error_code"] = request["error_code"] + message = request.get("message") + self._close_stage("failed", message, details) + self._add("run", "failed", "failed", message, details) + elif command == "block": + check_ids = list(request["blocking_gate_ids"]) + count = request.get("blocking_failure_count") + details: dict[str, Any] = { + "phase": request["phase"], + "blocking_gate_ids": check_ids, + "blocking_failure_count": len(check_ids) if count is None else count, + } + if request.get("gate_statuses") is not None: + details["gate_statuses"] = dict(request["gate_statuses"]) + self._close_stage() + self._add( + "run", + "blocked", + "blocked", + BUILD_BLOCKED_MESSAGE.format(phase=details["phase"]), + details, + ) + elif command == "complete": + self._close_stage() + self._add("run", "completed", "complete", BUILD_COMPLETED_MESSAGE) + else: + raise ValueError(f"unsupported telemetry command {command!r}") + + def _add( + self, + event_type: str, + status: str, + stage_id: str | None = None, + message: str | None = None, + details: Mapping[str, Any] | None = None, ) -> None: - self.messages: list[Mapping[str, Any]] = [] - self._lifecycle = LifecycleState() - super().__init__( - run=run, - transport=self, - close_service_on_finish=close_service_on_finish, + self.events.append( + { + "event_type": event_type, + "stage_id": stage_id, + "status": status, + "message": message or None, + "details": dict(details or {}), + } + ) + if event_type == "run" and status in {"completed", "failed", "blocked"}: + self.finished = True + self.transition_stage = None + elif stage_id is not None: + self.last_stage = stage_id + + def _transition(self, request: Mapping[str, Any]) -> None: + stage = request["stage_id"] + status = _TRANSITION_STATUSES.get(request.get("status", "running"), "progress") + if status == "started": + if self.transition_stage == stage: + status = "progress" + else: + self._close_stage() + self.transition_stage = stage + elif self.transition_stage == stage: + if status in {"completed", "failed"}: + self.transition_stage = None + else: + self._close_stage() + self._add( + "stage", + status, + stage, + request.get("message"), + request.get("details") or {}, ) - def send(self, payload: Mapping[str, Any]) -> None: - self._lifecycle, events = process_request(self._lifecycle, payload) - self.messages.extend({"action": "event", "event": event} for event in events) + def _close_stage( + self, + status: str = "completed", + message: str | None = None, + details: Mapping[str, Any] | None = None, + ) -> None: + if self.transition_stage is not None: + stage, self.transition_stage = self.transition_stage, None + self._add("stage", status, stage, message, details) + + +def telemetry_events(messages: Sequence[Mapping[str, Any]]) -> list[dict[str, Any]]: + """The events the emitter's telemetry service would make of ``messages``.""" + lifecycle = _Lifecycle() + for message in messages: + lifecycle.apply(message) + return lifecycle.events - def close(self) -> None: - self._closed = True - def publication_inventory( - self, directory: Path, roles: Mapping[str, PublicationFileRole] - ) -> PublicationInventory: - return fake_publication_inventory(directory, roles) +class FakeTelemetryEmitter(LocalTelemetryEmitter): + """Microcosm's adapter over an in-memory emitter client.""" - def publish_graph( + def __init__( self, - directory: Path, - inventory: PublicationInventory, + run: TelemetryRun, *, - wait_seconds: float = 30.0, - ) -> PublicationReceipt: - self.messages.append( - { - "action": "graph_publication", - "directory": str(directory), - "inventory": inventory, - } + close_service_on_finish: bool = True, + client: FakeEmitterClient | None = None, + ) -> None: + super().__init__( + run=run, + client=client if client is not None else FakeEmitterClient(), + close_service_on_finish=close_service_on_finish, ) - return fake_publish_graph(directory, inventory, wait_seconds=wait_seconds) @property - def events(self) -> list[Mapping[str, Any]]: - return [message["event"] for message in self.messages if "event" in message] + def events(self) -> list[dict[str, Any]]: + return telemetry_events(self.client.telemetry_messages) + + @property + def messages(self) -> list[Mapping[str, Any]]: + """The events as event messages, then the graph hand-overs.""" + return [ + *({"action": "event", "event": event} for event in self.events), + *self.client.orrery_requests, + ] diff --git a/uv.lock b/uv.lock index 9a48b9c330..5b7de278e0 100644 --- a/uv.lock +++ b/uv.lock @@ -50,20 +50,6 @@ members = [ "microcosm-workspace", ] -[[package]] -name = "alembic" -version = "1.20.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "mako" }, - { name = "sqlalchemy" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ed/aa/02910bdb8e2f1444f6654d5b296cd827d126f82209050ee7b1000f92ac4b/alembic-1.20.0.tar.gz", hash = "sha256:db505480647bc60386c5369402f4a57a506b7539c9e9ef5e270d45cbbe4939bf", size = 2093272, upload-time = "2026-09-11T19:09:11.126Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3f/27/78a89b55b0904d222183164e079b4ca56208e94eff1d35ad1f1ad5be9b06/alembic-1.20.0-py3-none-any.whl", hash = "sha256:77eb101048d95f982c0353e9233404889dcd7a6fc244c107836c0e2fc9cf7d9d", size = 268719, upload-time = "2026-09-11T19:09:12.88Z" }, -] - [[package]] name = "annotated-doc" version = "0.0.4" @@ -698,18 +684,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, ] -[[package]] -name = "mako" -version = "1.4.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "markupsafe" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/5a/09/e07c4b5579a79f4b16f8d4f29f6c54514ac787c4ad506b8c4f28a0e6b0bf/mako-1.4.3.tar.gz", hash = "sha256:cd6537fe88d5fec315c55c2f8529bc4ce7a9a352ad7db3eeaa6a66e2dd4ec37a", size = 412799, upload-time = "2026-09-22T20:54:31.509Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/a0/053d6af3e8f871e0073b4a36732d9e65be77a72e5434c31b94f6af78a6bb/mako-1.4.3-py3-none-any.whl", hash = "sha256:723296007c870bfd6b3f0c3230dba7198096e5269297ebf5e4eff9e7ffa39d4f", size = 80164, upload-time = "2026-09-22T20:54:33.128Z" }, -] - [[package]] name = "markdown-it-py" version = "4.2.0" @@ -804,7 +778,7 @@ dependencies = [ { name = "jsonschema" }, { name = "microcosm-calibrate" }, { name = "microcosm-diagnostics" }, - { name = "microcosm-emitter" }, + { name = "microcosm-emitter-interface" }, { name = "microcosm-fit" }, { name = "microcosm-frame" }, { name = "microcosm-graph" }, @@ -848,7 +822,7 @@ requires-dist = [ { name = "microcosm-data", marker = "extra == 'uk'", editable = "packages/microcosm-data" }, { name = "microcosm-data", marker = "extra == 'us'", editable = "packages/microcosm-data" }, { name = "microcosm-diagnostics", editable = "packages/microcosm-diagnostics" }, - { name = "microcosm-emitter", specifier = "==0.2.1" }, + { name = "microcosm-emitter-interface", specifier = ">=0.7.0,<1" }, { name = "microcosm-fit", editable = "packages/microcosm-fit" }, { name = "microcosm-frame", editable = "packages/microcosm-frame" }, { name = "microcosm-graph", editable = "packages/microcosm-graph" }, @@ -968,19 +942,12 @@ dev = [ ] [[package]] -name = "microcosm-emitter" -version = "0.2.1" +name = "microcosm-emitter-interface" +version = "0.7.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "alembic" }, - { name = "httpx" }, - { name = "huggingface-hub" }, - { name = "psutil" }, - { name = "sqlalchemy" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d4/b7/757043995c931fd147998b0c0f8f1f58f4ba9369f60bc72cfaf57a76ba6d/microcosm_emitter-0.2.1.tar.gz", hash = "sha256:43c41762057838b92d8e53bf53b4941fbfd45130f632b8b106adc4324664dbaf", size = 146537, upload-time = "2026-10-14T16:41:57.71Z" } +sdist = { url = "https://files.pythonhosted.org/packages/69/35/afaf9a249d5c09aa9ebcbbc3c58ca0f7d28a184d1f9d28d8cb807dacdb28/microcosm_emitter_interface-0.7.0.tar.gz", hash = "sha256:16c285331f28c926ce4775f9bb622c4d6cd05c867d419d3339a939cf8de2fa5a", size = 34378, upload-time = "2026-10-22T20:56:24.174Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/a1/6d00bb00db2d2b554e2ac76065e9fe0d75b167d47e2bd4d03d23d5482530/microcosm_emitter-0.2.1-py3-none-any.whl", hash = "sha256:a1baa6e110b3248cfd77d9d2e443a8190cb8011600c13b195b8ae68754abf4aa", size = 57888, upload-time = "2026-10-14T16:41:56.32Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/8ff4fbfe3dfb53451e672a424edb6d28f400e5ec4808ecf98762dedd6567/microcosm_emitter_interface-0.7.0-py3-none-any.whl", hash = "sha256:df6b382bf77b7e63bf737b530d89549c14aba9b4c7625b64ec8c144c8cb8d81a", size = 55850, upload-time = "2026-10-22T20:56:22.877Z" }, ] [[package]] @@ -2271,68 +2238,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/19/a0/c484f69a0ebf88a9b9fd0ac28176f8df66550f46714f1b0c5ec0b360824e/spm_calculator-1.0.0-py3-none-any.whl", hash = "sha256:e354937a5e1a4045d4966ed594a528d8b02866fabaac9bb5672017004b627305", size = 7395384, upload-time = "2026-09-11T15:45:10.492Z" }, ] -[[package]] -name = "sqlalchemy" -version = "2.1.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/02/4b/81d972a46c9f1d978af1795e2abc988855c711453552cb45d75f6e4abbf5/sqlalchemy-2.1.3.tar.gz", hash = "sha256:ade5281df06038c6394f532590d592d3381ee5d11b9e0006a2570aef41145118", size = 10525778, upload-time = "2026-10-02T22:57:00.308Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1a/71/68c29931fb2c5178241f7d0c63dbdd800ad65685eac70d7f2117145b5e3c/sqlalchemy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:260bdd8baa1dc631d76d14b26ad009ebbb665b4469666afef8dcaa1f964016cb", size = 2457479, upload-time = "2026-10-03T02:39:19.741Z" }, - { url = "https://files.pythonhosted.org/packages/94/21/5dbd91816b2cdb367bca3195f300ffeca916762e088d6924fc33a18f50ad/sqlalchemy-2.1.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5fc01a8047d6a4f4e997441994f07af79fdd470fc80669751e32f91153d6b491", size = 4582199, upload-time = "2026-10-02T23:37:44.508Z" }, - { url = "https://files.pythonhosted.org/packages/32/d1/79962ce06d6cd34516def113f5170184fa9401ebddc59fd6cb18f6e919f3/sqlalchemy-2.1.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b1b3ff10eba0f9290142375e667351c99d24ee7fcff6e0f85bd8be9d39b50a17", size = 4632923, upload-time = "2026-10-02T23:35:55.318Z" }, - { url = "https://files.pythonhosted.org/packages/3c/94/03e98031dc9a1738c580c3bf01beeafe695f247eb647f4e8dda3fab2454f/sqlalchemy-2.1.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:efb1ebf695e80d9a69f5bbff9d812d2491fd168b27d6b42ad4c8a4d3d6faaef1", size = 4300224, upload-time = "2026-10-02T23:46:45.495Z" }, - { url = "https://files.pythonhosted.org/packages/3a/1f/388c87607eb6c7abee4866355eeebb6221b3bcb413a64ce4a5cfc3edd22f/sqlalchemy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a95754928d47b37ea5c4b5180101db2afabef1da0dd5cd0c573b547d5d036ff0", size = 4507170, upload-time = "2026-10-02T23:38:29.697Z" }, - { url = "https://files.pythonhosted.org/packages/57/73/5515a3f555d31748564fbeb0b9e0b6ab7a647bf2ea0cdb6d233f20f710e3/sqlalchemy-2.1.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:7606b413730ac6002930faa96f52195ed6969040b78071a3336370661f5e9e09", size = 4301439, upload-time = "2026-10-02T23:46:47.845Z" }, - { url = "https://files.pythonhosted.org/packages/a3/a0/0eae9b96f6f8a09f3e5d388f6fc5d6fe8d5ff2aced2a5c75bea7333d445e/sqlalchemy-2.1.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:76c3d5c7ada0925ff12e8c2395c547f88fcfccc13368ff8e8dd55ab5e28dcdab", size = 4594441, upload-time = "2026-10-03T02:46:16.928Z" }, - { url = "https://files.pythonhosted.org/packages/f5/b1/b6d681015414ce9048c07ef3ac49b693c1b8373de4716ee4bdeff4ec19a0/sqlalchemy-2.1.3-cp313-cp313-win32.whl", hash = "sha256:cb6fc5c856e8f1c0228bf74b636c0a03a6c12dd502ced7aa82ced21dcdc7f547", size = 2371547, upload-time = "2026-10-03T02:49:23.549Z" }, - { url = "https://files.pythonhosted.org/packages/56/ad/35aa4d737016640c6da7573a4bcd9d91b59a87359bc6df075627963a4781/sqlalchemy-2.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:82d4c63d338737d593f1d29c4dae0a124577a9a76186d90b5c0f9ec9cbeeab35", size = 2421558, upload-time = "2026-10-03T02:49:25.448Z" }, - { url = "https://files.pythonhosted.org/packages/fc/42/0dcc7cd92a3f4773376a5488b6ce0d6d75d2d029ad7e7f9e0ecc5fb48fcd/sqlalchemy-2.1.3-cp313-cp313-win_arm64.whl", hash = "sha256:0ab6f42761cc5c48d2f3e8a70810d10630d8222a51a7111cf9b3a48f22c3f148", size = 2382507, upload-time = "2026-10-03T02:42:42.812Z" }, - { url = "https://files.pythonhosted.org/packages/11/55/d626c933b7d034619c57120fafb47c0d44b2553ad2b8f74e904a40c01258/sqlalchemy-2.1.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:660c6e16d254568874d4b77fd593aa5426f55cf40d0acc8b5364a5e61cc1044d", size = 2460626, upload-time = "2026-10-03T02:39:21.751Z" }, - { url = "https://files.pythonhosted.org/packages/35/90/9b276c8eed59694d5c2291588fae9c51f25a5c63efb00ef9a7c6e754a2cd/sqlalchemy-2.1.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7277ba31ffb636666ed207d2aaf74de3cd2ee78436da7552bd4eeadf1f67740a", size = 4576390, upload-time = "2026-10-02T23:38:31.943Z" }, - { url = "https://files.pythonhosted.org/packages/60/21/818e89fe73ba4600abf5090e0d2356d92de9ca3a8aa9222d64801e510bd2/sqlalchemy-2.1.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b728c406b1b202e8998e8f9adacb56773bfeea67da74252ad3025bcb8f5863f1", size = 4606177, upload-time = "2026-10-03T02:46:19.291Z" }, - { url = "https://files.pythonhosted.org/packages/88/75/ab96bb0e27153d123340d6f1b14fac3713c03b7e3ca3f74f4c0715345775/sqlalchemy-2.1.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:85623c57c3696dcbc4fc909bbf335a2f0c27ae36f762d83810067fb49abc040e", size = 4300438, upload-time = "2026-10-02T23:46:50.03Z" }, - { url = "https://files.pythonhosted.org/packages/94/49/c7e0223fe5553ff1c31853c07f158f75245f8d435435755a789249f5121a/sqlalchemy-2.1.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ac0de6dc326cc99ac31206359e9fc2c13345f667edeb6ef556585fedac4ff698", size = 4506089, upload-time = "2026-10-02T23:38:34.209Z" }, - { url = "https://files.pythonhosted.org/packages/10/83/d6aad5e1a5b3a3e9257f932971b7f2105be6669205d4d9946f5f87d73216/sqlalchemy-2.1.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:65e002b794efa1bacbbde9fa973e5340d6c3c29b53e592b863a281802829319d", size = 4301730, upload-time = "2026-10-02T23:46:52.115Z" }, - { url = "https://files.pythonhosted.org/packages/04/54/310b9fd03ba7de6359185a0914bcd0cf45a76c6314e49d1ec814a50ae13e/sqlalchemy-2.1.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:65e4813c78eaa679c9369b289e67fdba924db6be14067700c5ccbda37953af9a", size = 4565315, upload-time = "2026-10-03T02:46:21.64Z" }, - { url = "https://files.pythonhosted.org/packages/d4/8b/f6f7d46bc4e7bdc16fa78ec9a390f01852f2b080b7c75e83db4947b707c6/sqlalchemy-2.1.3-cp314-cp314-win32.whl", hash = "sha256:726987e7f8500614016be056ba5c9715b760ab465295741e2087b29753d72632", size = 2378402, upload-time = "2026-10-03T02:49:27.524Z" }, - { url = "https://files.pythonhosted.org/packages/9a/5f/dabd1ea48dd6c45383526c7f2e453fea15dcb53235edbadab49857fd7bfd/sqlalchemy-2.1.3-cp314-cp314-win_amd64.whl", hash = "sha256:0560458a775917bcd7a47eccf4f9e0b135fd9b72d7b819cb1bd60581de946f9a", size = 2428828, upload-time = "2026-10-03T02:49:29.481Z" }, - { url = "https://files.pythonhosted.org/packages/23/aa/ecba6a6141d24dbd4b002b451e0c410b7c6cb82a8a873f915f89314af830/sqlalchemy-2.1.3-cp314-cp314-win_arm64.whl", hash = "sha256:63c9289ed81991ba4d500611ce201531711430f5d23d7ae9a61a8842639b85ea", size = 2393599, upload-time = "2026-10-03T02:42:44.416Z" }, - { url = "https://files.pythonhosted.org/packages/33/41/f2c5eb9371cc1352a16001642702dfc2d73537995eea5cdeec7738f90a9d/sqlalchemy-2.1.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:08b2f345db8b0742e7814c49f9a210d5f5c8fb9d80d12c8a63bba762fa277477", size = 2500084, upload-time = "2026-10-02T23:35:35.774Z" }, - { url = "https://files.pythonhosted.org/packages/73/f1/fabd748dd8a1700579906649ac05414d65eca5bca44a3ac3c22856ed8d25/sqlalchemy-2.1.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:493b632f426579c4b0e97a5610f76c8c3d401cede442d462bf700b537035c91e", size = 4904105, upload-time = "2026-10-03T02:49:06.101Z" }, - { url = "https://files.pythonhosted.org/packages/ad/6b/a7a3d5c77c16386e16eb9dc8ba82e0cc6b03d6ee0ef6620921655df82413/sqlalchemy-2.1.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:55e06933580f4faa5a7b1d2c9ad04f365fe01c40465eb982e38fda8758c1e95c", size = 4814161, upload-time = "2026-10-02T23:34:39.253Z" }, - { url = "https://files.pythonhosted.org/packages/63/72/275dac552b869a21774c08a7084bad16bd99f28384b8c95ffcded1a18884/sqlalchemy-2.1.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fdcee9536cb3281b8810787ba651f4e5f22bd687b177de89fba2155b055b07b0", size = 4494471, upload-time = "2026-10-02T23:59:11.642Z" }, - { url = "https://files.pythonhosted.org/packages/e8/3e/41d8071c58a20e2ba9fabc422938a219461f0b32aa537ab69afe06daa0e5/sqlalchemy-2.1.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d2cb28779dbf54067655030d7ab3a6726c7957c56bde5ff6745ed86b5cebff41", size = 4762070, upload-time = "2026-10-03T02:49:08.052Z" }, - { url = "https://files.pythonhosted.org/packages/75/73/b747233b8ad935467eb1f2aa1c466af69831693cab3495c88842bf1bd3ac/sqlalchemy-2.1.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:01a90cac3f8d93fcbda0df119ef56c4d58aad5601f6b7ee5a38bfabbd5d119b8", size = 4494691, upload-time = "2026-10-02T23:59:13.733Z" }, - { url = "https://files.pythonhosted.org/packages/71/aa/ba11b725b9529879aff489e36cdaccc3fd69620fb30b89186792523bc262/sqlalchemy-2.1.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:edbc28049ab8da07387ea2b85ceee747b36b25444ffa4aaba9f6e1461d5b2634", size = 4752692, upload-time = "2026-10-03T02:54:01.04Z" }, - { url = "https://files.pythonhosted.org/packages/b6/b8/86ec625db10e285ed8459e39ab3e56b7630554bc733e64a190e248eeea25/sqlalchemy-2.1.3-cp314-cp314t-win32.whl", hash = "sha256:724f587ced076d89291032b35476d6bdb401cce1dd680c1e3418c01d9bd55ad4", size = 2436746, upload-time = "2026-10-03T02:56:47.297Z" }, - { url = "https://files.pythonhosted.org/packages/18/be/1309b0b3acfcd6e0060c815762012c66d23eece8c9eb8091da5c850a1289/sqlalchemy-2.1.3-cp314-cp314t-win_amd64.whl", hash = "sha256:935085a5b8849d324c22bc3cc09fd07b3669cc22ba5bdd3ec208829e535cdef9", size = 2504160, upload-time = "2026-10-03T02:56:49.705Z" }, - { url = "https://files.pythonhosted.org/packages/9b/b2/ac9067f4d6c43887570df54e6c340ae9c591a8e75a5fd3029a9d7deba163/sqlalchemy-2.1.3-cp314-cp314t-win_arm64.whl", hash = "sha256:2ebfff82cece947fea1ed6337d4f0613b9799f6db621c9729790fdd41edfb5ea", size = 2422266, upload-time = "2026-10-02T23:35:30.802Z" }, - { url = "https://files.pythonhosted.org/packages/a0/e5/54a863bf8e12fa97cd06bb2e012aeca53b5535bc07aabe0192a4ed77ed44/sqlalchemy-2.1.3-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:47a052dcd935a62326216bc5f0ed10ad941c77c3acc9200385e0c03c4f31d5a9", size = 2460525, upload-time = "2026-10-03T02:38:02.872Z" }, - { url = "https://files.pythonhosted.org/packages/f9/63/f6f8a8d8e8f8be456bea70ad2b9af90a60a7f98d349b178b9eaaea86431b/sqlalchemy-2.1.3-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e5916b43a9a8f346026f663583f203d0c43febad504ff2fed504dec6e078f20", size = 4579659, upload-time = "2026-10-02T23:35:35.789Z" }, - { url = "https://files.pythonhosted.org/packages/fa/7f/9f1064ef0f8f15e3c1cb8fa7ad5e4fc7e1e311ad0e1e46bc2e77940585bb/sqlalchemy-2.1.3-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b9af78a85af63114e2650f019ddf8fffb871e659e92bffb7d0bce5753f706caf", size = 4615129, upload-time = "2026-10-02T23:38:44.119Z" }, - { url = "https://files.pythonhosted.org/packages/c4/4a/f1a002235cc785d219738e096c7c65f68e9b7ed30c810997236567c50af9/sqlalchemy-2.1.3-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d218698c4f05728a941d6ad7c769b6491f03058e102cf811b7e4900f78fffa07", size = 4316528, upload-time = "2026-10-02T23:39:13.275Z" }, - { url = "https://files.pythonhosted.org/packages/a8/9c/6ee4e5ab55558408c16fe1713db415e45024f42cdb1c573ebceacc09d01c/sqlalchemy-2.1.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:80e6ccf111bc3f57530935f5541c6c1da50ac9713c418378840683532a45dd2d", size = 4509727, upload-time = "2026-10-03T02:41:25.314Z" }, - { url = "https://files.pythonhosted.org/packages/64/8c/a6bdf2874518c628fdedf24144194afa88cceb70339e5050459cdc2723cf/sqlalchemy-2.1.3-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:9a3ce1ff88dfb9f9f4305da07f4fab87720b609e264d134e47ae84a52df130bd", size = 4316490, upload-time = "2026-10-02T23:39:15.342Z" }, - { url = "https://files.pythonhosted.org/packages/10/3b/d859b638495a63ef7c155a8185369fa86ba2b860154d777e46eba922324f/sqlalchemy-2.1.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:77a365f7cb81bbd738c948b64e0b683f8f1b68efe51ca2815e8ad4baf6287ed9", size = 4576491, upload-time = "2026-10-02T23:38:45.97Z" }, - { url = "https://files.pythonhosted.org/packages/23/0b/c560177600613df0cfe27e27c346bac956b631cd5236178b81144e783e9e/sqlalchemy-2.1.3-cp315-cp315-win32.whl", hash = "sha256:83757320391b96cde715af0772675941d3e345da9ced3696c030f7f55ffa8eab", size = 2378116, upload-time = "2026-10-02T23:14:57.441Z" }, - { url = "https://files.pythonhosted.org/packages/d3/72/d39f60d0bc873653c0fec76aa088c969a2394ea7737f18d812fbe0e8c0c5/sqlalchemy-2.1.3-cp315-cp315-win_amd64.whl", hash = "sha256:f87533295b84c9e19ca2a72dc26a76e0192f0a2424f8fd575a82e75e7d58f9e1", size = 2428865, upload-time = "2026-10-02T23:14:58.959Z" }, - { url = "https://files.pythonhosted.org/packages/c5/03/953cf93136de44ee9d6cebee14666dcc2c4a4285fe159b2e459326631e49/sqlalchemy-2.1.3-cp315-cp315-win_arm64.whl", hash = "sha256:3e46a27b0c74af74aa6c08c983ca51db88d22dd86c316d72a634e989b7caef58", size = 2393289, upload-time = "2026-10-02T23:08:31.958Z" }, - { url = "https://files.pythonhosted.org/packages/a2/1e/5b5af9c0fe4e6f713d2ab684b88f10fd1cbe55bd34cca4d676fb930c9da3/sqlalchemy-2.1.3-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:06ef75e3e0c72d774b41f659bfc4f63d5e207d6c8418abe2b80843a4a25e2fa6", size = 2496326, upload-time = "2026-10-03T02:48:37.363Z" }, - { url = "https://files.pythonhosted.org/packages/2b/6c/6192d30fe24edc7c9e98c315341b7342ba7168d1729867c5d87e56285658/sqlalchemy-2.1.3-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70e05ae07dd9be29d4723bd0c880df622387eb51efb46a7b8efd49295248ffd7", size = 4880284, upload-time = "2026-10-03T02:49:10.221Z" }, - { url = "https://files.pythonhosted.org/packages/40/11/a758ae0116ab663f3520970cd870da5616cbb09c369b843239cce50696d7/sqlalchemy-2.1.3-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10fdff11782842696172489bd4861ae63c212e62ee7c4fc61fdda90961abd1f3", size = 4830599, upload-time = "2026-10-03T02:54:03.353Z" }, - { url = "https://files.pythonhosted.org/packages/8a/e8/faa500255fd90f421ef9e918d522aa4f02212b53859c35dadbafb3532bb2/sqlalchemy-2.1.3-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:edd3e6690f350c89c616e78e9b58833c3d8925607ac5faf3530f38f053f58e4d", size = 4481272, upload-time = "2026-10-02T23:59:15.592Z" }, - { url = "https://files.pythonhosted.org/packages/3c/4d/26fc9adb3fbc1d5fb8b92043a1639fd111761b8c52a2ce61df8b00ff405d/sqlalchemy-2.1.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:e3c165df26eca3d2612f60ea91af02648cb1bd492eadfa64dba15c9a3a0fb09c", size = 4737553, upload-time = "2026-10-03T02:49:12.413Z" }, - { url = "https://files.pythonhosted.org/packages/08/41/3639fc1d9fd7ea201ed4941215c14b87ce3c3b5f5f0190eb93321d673e48/sqlalchemy-2.1.3-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:70c073d28d043766eb1725010792f302f59b14636ffef478793045471efe92dd", size = 4479761, upload-time = "2026-10-02T23:59:17.572Z" }, - { url = "https://files.pythonhosted.org/packages/47/c8/541035b19b34dd581fb24b6fcf065db6fb4f210b9fbf93e1b2bf5f8cd5c0/sqlalchemy-2.1.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:bf5f63229512f14e7bffc9a0041386318f592e76bbeaf9b750b39056094d91f3", size = 4757307, upload-time = "2026-10-03T02:54:05.524Z" }, - { url = "https://files.pythonhosted.org/packages/40/a3/bb51886c02a60f1b7fb5461a25d6a3e57ce0557b916032dc3c7a72fae226/sqlalchemy-2.1.3-cp315-cp315t-win32.whl", hash = "sha256:697942762c40e31eb0fa39bf0e58e1ac1b5b1ff9022da62b74f7cdc53096a482", size = 2433533, upload-time = "2026-10-03T02:56:52.298Z" }, - { url = "https://files.pythonhosted.org/packages/e5/8e/1739b378a2b40bfc5541355c9d944b96dffcbe86aa1ed3aff31ad13f5d9b/sqlalchemy-2.1.3-cp315-cp315t-win_amd64.whl", hash = "sha256:a9c33c0d081a9d2c94229b9ae1834cb2ef81dd81253df4763e32111287b64c31", size = 2499211, upload-time = "2026-10-03T02:56:54.801Z" }, - { url = "https://files.pythonhosted.org/packages/5d/9a/ce4ea58551258203381017bc4724369cc8948ac5a46212671266b13424c4/sqlalchemy-2.1.3-cp315-cp315t-win_arm64.whl", hash = "sha256:c36ff11196dacf50312a2cc51a798bb41611331c174871f065be651a838a5361", size = 2418086, upload-time = "2026-10-03T02:44:11.611Z" }, - { url = "https://files.pythonhosted.org/packages/e5/12/23d8fb7ed90e5b674006ace415ede1c60cdfc38ace50968b59ef42c22754/sqlalchemy-2.1.3-py3-none-any.whl", hash = "sha256:6f0cf4debd86cb5623a50310784bd005c215761ca7f618d0d4f46193d033675a", size = 2052603, upload-time = "2026-10-03T02:34:19.115Z" }, -] - [[package]] name = "stack-data" version = "0.6.3" From 9e33ab1fdbf4cb6069ba177859fefc8e86ecfad2 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:36:14 +0400 Subject: [PATCH 09/67] Test that staging run files go through the build's emitter The version 1 and version 2 staging writers should hand their run files to the build's emitter client instead of uploading them with HfApi: one hand-over per cycle, the runs index merged by the emitter, read-back done by the emitter, delivery counts taken from its receipts, and three hand-overs in a row that the emitter does not accept pausing the run's hand-overs until its final state. The US and UK builds should pass their emitter's client to the writers, and the US build should hand over a failed state before its telemetry outcome shuts the emitter down. These tests fail against the writers that upload each file themselves. The in-memory client can share a fake Hub's mapping, so UK tests still see the run files and the staged dataset in one place. Co-Authored-By: Claude Opus 5.5 --- .../tests/engine_free/shared/test_staging.py | 237 ++++++--- .../engine_free/shared/test_staging_v2.py | 461 +++++++++--------- .../tests/engine_free/uk/test_uk_frs_spine.py | 38 ++ .../engine_free/uk/test_uk_full_build_cli.py | 45 +- .../uk/test_uk_rowwise_national_role.py | 4 + .../us/test_us_fiscal_refresh_builder.py | 53 ++ test_support/microcosm_build/emitter.py | 11 +- test_support/microcosm_build/telemetry.py | 25 +- 8 files changed, 540 insertions(+), 334 deletions(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_staging.py b/packages/microcosm-build/tests/engine_free/shared/test_staging.py index 3d6b62c03d..3d10001dac 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_staging.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_staging.py @@ -1,34 +1,37 @@ import inspect import json +import pytest + import microcosm.build.staging as staging_module from microcosm.build.staging import StagingRunBundleWriter -from microcosm.build.staging_storage import BestEffortUploadSession +from test_support.microcosm_build.emitter import FakeEmitterClient from test_support.paths import paths_for _TEST_PATHS = paths_for("microcosm-build") V1_FIXTURE = _TEST_PATHS.tests / "fixtures" / "staging" / "v1" +US_STAGING = "policyengine/populace-us-staging" -def test_staging_run_bundle_writer_has_no_emitter_dependency() -> None: +def test_staging_run_bundle_writer_sends_no_telemetry_events(tmp_path) -> None: + """The writer hands over its files; hosted telemetry stays the build's.""" assert "emitter" not in inspect.signature(StagingRunBundleWriter).parameters + emitter = FakeEmitterClient() + telemetry = StagingRunBundleWriter( + run_id="run-a", + candidate_release_id="run-a", + run_dir=tmp_path / "run-a", + repo_id=US_STAGING, + emitter_client=emitter, + upload_interval_seconds=0, + ) + telemetry.stage("calibrating", force_upload=True) + telemetry.fail(RuntimeError("synthetic")) - -class FakeApi: - def __init__(self) -> None: - self.uploads: list[tuple[str, str, str, str]] = [] - - def upload_file( - self, - *, - path_or_fileobj, - path_in_repo, - repo_id, - repo_type, - ): - self.uploads.append((str(path_or_fileobj), path_in_repo, repo_id, repo_type)) - return None + assert emitter.run_file_requests + assert set(emitter.calls) <= {"stage_run_files", "run_files_receipt"} + assert emitter.telemetry_messages == [] def test_staging_run_bundle_writer_writes_local_progress(tmp_path) -> None: @@ -56,111 +59,182 @@ def test_staging_run_bundle_writer_writes_local_progress(tmp_path) -> None: assert len(events) >= 3 -def test_staging_run_bundle_writer_uploads_repo_paths(tmp_path) -> None: - api = FakeApi() +def test_staging_run_bundle_writer_hands_repo_paths_to_the_emitter(tmp_path) -> None: + emitter = FakeEmitterClient() + run_dir = tmp_path / "run-b" telemetry = StagingRunBundleWriter( run_id="run-b", candidate_release_id="populace-us-2024-def-20260618T000000Z", - run_dir=tmp_path / "run-b", - repo_id="policyengine/populace-us-staging", - api=api, + run_dir=run_dir, + repo_id=US_STAGING, + emitter_client=emitter, upload_interval_seconds=0, ) telemetry.stage("target_compilation", force_upload=True) - assert isinstance(telemetry._upload_session, BestEffortUploadSession) - uploaded_paths = {upload[1] for upload in api.uploads} - assert "runs/run-b/progress.json" in uploaded_paths - assert "runs/run-b/run_manifest.json" in uploaded_paths - assert "latest_staging.json" in uploaded_paths - assert "runs.json" in uploaded_paths + request = emitter.run_file_requests[-1] + assert request.repository == US_STAGING + assert request.run_id == "run-b" + assert request.prefix == "runs" + assert request.flush is True + assert request.commit_interval_seconds == 0 + assert {item.relative_path: item.local_path for item in request.files} == { + "run_manifest.json": run_dir / "run_manifest.json", + "progress.json": run_dir / "progress.json", + "events.ndjson": run_dir / "events.ndjson", + } + assert request.latest_pointer == run_dir / "latest_staging.json" + assert request.run_index_entry == telemetry.run_summary() + assert { + "runs/run-b/progress.json", + "runs/run-b/run_manifest.json", + "latest_staging.json", + "runs.json", + } <= set(emitter.paths(US_STAGING)) + # Unforced changes wait for the writer's own interval, then go as one + # hand-over the emitter commits after its interval. + assert all(not item.flush for item in emitter.run_file_requests[:-1]) -def test_runs_index_keeps_existing_runs(tmp_path) -> None: +def test_the_emitter_merges_this_run_into_the_existing_runs_index(tmp_path) -> None: + emitter = FakeEmitterClient() # An older run is already recorded in the repo's index. - existing = tmp_path / "existing.json" - existing.write_text( - json.dumps( - { - "schema_version": 1, - "updated_at": "2026-06-19T00:00:00+00:00", - "runs": [ - { - "run_id": "older", - "candidate_release_id": "populace-us-2024-old-20260619T000000Z", - "status": "running", - "stage": "write_calibration_npz", - "updated_at": "2026-06-19T00:00:00+00:00", - } - ], - } - ) - ) - - class FakeApiWithDownload(FakeApi): - def hf_hub_download(self, *, repo_id, filename, repo_type, **kwargs): - return str(existing) + emitter.hub_files[(US_STAGING, "runs.json")] = json.dumps( + { + "schema_version": 1, + "updated_at": "2026-06-19T00:00:00+00:00", + "runs": [ + { + "run_id": "older", + "candidate_release_id": "populace-us-2024-old-20260619T000000Z", + "status": "running", + "stage": "write_calibration_npz", + "updated_at": "2026-06-19T00:00:00+00:00", + } + ], + } + ).encode() telemetry = StagingRunBundleWriter( run_id="newer", candidate_release_id="populace-us-2024-new-20260620T000000Z", run_dir=tmp_path / "newer", - repo_id="policyengine/populace-us-staging", - api=FakeApiWithDownload(), + repo_id=US_STAGING, + emitter_client=emitter, upload_interval_seconds=0, ) telemetry.complete() - index = json.loads((tmp_path / "newer" / "runs.json").read_text()) - run_ids = [run["run_id"] for run in index["runs"]] - # Both the pre-existing run and this run survive (no overwrite). - assert run_ids == ["newer", "older"] - + # The writer sends only this run's entry; the emitter merges it at commit + # time, so both the pre-existing run and this run survive. + remote = emitter.hub_json(US_STAGING, "runs.json") + assert [run["run_id"] for run in remote["runs"]] == ["newer", "older"] + assert emitter.run_file_requests[-1].run_index_entry["status"] == "passed" + local = json.loads((tmp_path / "newer" / "runs.json").read_text()) + assert [run["run_id"] for run in local["runs"]] == ["newer"] -def test_upload_failures_never_raise_and_disable_after_three(tmp_path, capsys): - class FailingApi: - def upload_file(self, **kwargs): - raise RuntimeError("401 Unauthorized") - - def hf_hub_download(self, **kwargs): - raise RuntimeError("401 Unauthorized") +def test_hand_over_failures_never_raise_and_disable_after_three(tmp_path, capsys): + emitter = FakeEmitterClient(accept_run_files=False) telemetry = StagingRunBundleWriter( run_id="run-1", candidate_release_id="run-1", run_dir=tmp_path / "run", repo_id="org/staging", - api=FailingApi(), + emitter_client=emitter, upload_interval_seconds=0.0, ) - # Staging telemetry is best-effort: failing uploads must never raise, and - # after three consecutive failures uploads are disabled for the run. + # Staging telemetry is best-effort: hand-overs the emitter does not accept + # never raise, and after three in a row the run stops handing files over. + # The writer's own "created" stage was the first. telemetry.stage("one", force_upload=True) telemetry.stage("two", force_upload=True) assert telemetry.repo_id is None + requests = len(emitter.run_file_requests) + telemetry.stage("three", force_upload=True) + assert len(emitter.run_file_requests) == requests == 3 err = capsys.readouterr().err - assert "staging upload" in err - assert "disabling staging uploads" in err + assert "staging hand-over failed" in err + assert "disabling staging hand-overs" in err # Nothing reached the repo, and the run says so. A configured destination # is not evidence of delivery. assert telemetry.uploads_succeeded == 0 -def test_uploads_succeeded_counts_files_that_reached_the_repo(tmp_path): - api = FakeApi() +def test_a_build_without_an_emitter_keeps_its_staging_files_local( + tmp_path, capsys, monkeypatch +): + from microcosm.build import staging_storage + + monkeypatch.setattr( + staging_storage.HuggingFaceDatasetStorage, + "_api", + lambda storage: pytest.fail("the writer contacted the Hub itself"), + ) + telemetry = StagingRunBundleWriter( + run_id="run-1", + candidate_release_id="run-1", + run_dir=tmp_path / "run", + repo_id="org/staging", + upload_interval_seconds=0.0, + ) + telemetry.complete() + + assert telemetry.uploads_succeeded == 0 + assert json.loads((tmp_path / "run" / "progress.json").read_text())["status"] == ( + "passed" + ) + assert "staging hand-over failed" in capsys.readouterr().err + + +def test_uploads_succeeded_counts_files_the_emitter_committed(tmp_path): + emitter = FakeEmitterClient() telemetry = StagingRunBundleWriter( run_id="run-c", candidate_release_id="run-c", run_dir=tmp_path / "run-c", repo_id="org/staging", - api=api, + emitter_client=emitter, upload_interval_seconds=0.0, ) telemetry.stage("target_compilation", force_upload=True) - assert telemetry.uploads_succeeded == len(api.uploads) + receipt = emitter.run_files_receipt("org/staging", "run-c") + assert telemetry.uploads_succeeded == receipt["files_committed"] assert telemetry.uploads_succeeded > 0 + # The count stays what the emitter last reported once it has shut down. + emitter.close() + assert telemetry.uploads_succeeded == receipt["files_committed"] + + +def test_an_attached_artifact_is_handed_over_once_beside_the_run(tmp_path): + emitter = FakeEmitterClient() + telemetry = StagingRunBundleWriter( + run_id="run-g", + candidate_release_id="run-g", + run_dir=tmp_path / "run-g", + repo_id="org/staging", + emitter_client=emitter, + upload_interval_seconds=0.0, + ) + artifact = tmp_path / "diagnostics.json" + artifact.write_text(json.dumps({"targets": 3})) + + telemetry.attach_artifact("calibration_diagnostics", artifact) + telemetry.stage("validation", force_upload=True) + + carrying = [ + request + for request in emitter.run_file_requests + if any(item.relative_path == "diagnostics.json" for item in request.files) + ] + assert len(carrying) == 1 + assert [item.local_path for item in carrying[0].files] == [artifact] + assert carrying[0].flush is True + assert emitter.hub_files[("org/staging", "runs/run-g/diagnostics.json")] == ( + artifact.read_bytes() + ) def test_blank_path_prefix_falls_back_to_the_default(tmp_path): @@ -215,17 +289,14 @@ def test_us_version_1_bundle_matches_fixed_fixture(tmp_path, monkeypatch): ) monkeypatch.setattr(staging_module, "_now", lambda: next(timestamps)) - class FixtureApi(FakeApi): - def hf_hub_download(self, **kwargs): - raise FileNotFoundError - + emitter = FakeEmitterClient() run_dir = tmp_path / "v1-us-fixture" telemetry = StagingRunBundleWriter( run_id="v1-us-fixture", candidate_release_id="populace-us-2024-v1-fixture", run_dir=run_dir, - repo_id="policyengine/populace-us-staging", - api=FixtureApi(), + repo_id=US_STAGING, + emitter_client=emitter, upload_interval_seconds=float("inf"), started_at="2026-01-01T00:00:00+00:00", ) @@ -248,3 +319,9 @@ def hf_hub_download(self, **kwargs): assert (run_dir / "events.ndjson").read_text().splitlines() == ( V1_FIXTURE / "events.ndjson" ).read_text().splitlines() + # An infinite interval hands over only the forced final state. + assert len(emitter.run_file_requests) == 1 + assert ( + emitter.hub_files[(US_STAGING, "latest_staging.json")] + == (run_dir / "latest_staging.json").read_bytes() + ) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py b/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py index 69001080be..bdafe754ee 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py @@ -15,7 +15,6 @@ validate_staging_arguments, ) from microcosm.build.staging_storage import ( - BestEffortUploadSession, HuggingFaceDatasetStorage, StagingRepositoryConfig, ) @@ -36,9 +35,11 @@ validate_v2_bundle, validate_v2_document, ) +from test_support.microcosm_build.emitter import FakeEmitterClient from test_support.paths import paths_for _TEST_PATHS = paths_for("microcosm-build") +UK_STAGING = "policyengine/populace-uk-staging" ROOT = _TEST_PATHS.repository FIXTURE_ROOT = _TEST_PATHS.tests / "fixtures" / "staging" @@ -103,8 +104,58 @@ def _recorder(tmp_path, **kwargs) -> StagingRunBundleWriterV2: return StagingRunBundleWriterV2(**defaults) -def test_staging_run_bundle_writer_has_no_emitter_dependency() -> None: +def _remote_recorder(tmp_path, emitter=None, **kwargs): + """A remote-mode recorder whose run files go to an in-memory emitter.""" + emitter = emitter if emitter is not None else FakeEmitterClient() + options = { + "delivery_mode": "local_and_remote", + "repo_id": UK_STAGING, + "emitter_client": emitter, + "upload_interval_seconds": 0, + **kwargs, + } + return _recorder(tmp_path, **options), emitter + + +def _remote_files(emitter, repository=UK_STAGING) -> dict[str, bytes]: + return { + path: content + for (repo, path), content in emitter.hub_files.items() + if repo == repository + } + + +class _AlteringEmitter(FakeEmitterClient): + """An emitter whose Hub copy of one path differs once it reads back.""" + + def __init__(self, path, alter) -> None: + super().__init__() + self.altered_path = path + self.alter = alter + + def read_back_run_files(self, repository, run_id, *, wait_seconds=30.0): + key = (repository, self.altered_path) + self.hub_files[key] = self.alter(self.hub_files[key]) + return super().read_back_run_files( + repository, run_id, wait_seconds=wait_seconds + ) + + +def test_staging_run_bundle_writer_sends_no_telemetry_events(tmp_path) -> None: + """The writer hands over its files; hosted telemetry stays the build's.""" assert "emitter" not in inspect.signature(StagingRunBundleWriterV2).parameters + telemetry, emitter = _remote_recorder(tmp_path) + telemetry.stage("input_verification", force_upload=True) + telemetry.complete() + telemetry.verify_remote() + + assert emitter.run_file_requests + assert set(emitter.calls) <= { + "stage_run_files", + "run_files_receipt", + "read_back_run_files", + } + assert emitter.telemetry_messages == [] def test_version_2_local_bundle_has_explicit_schemas_and_ordered_events(tmp_path): @@ -304,14 +355,7 @@ def test_unknown_schema_version_is_incompatible(): def test_running_document_cannot_report_completed_remote_read_back(tmp_path): - api = MemoryApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - ) + telemetry, _ = _remote_recorder(tmp_path) telemetry.complete() telemetry.verify_remote() manifest = telemetry.validate_local_bundle()["run_manifest"] @@ -351,68 +395,66 @@ def test_identifiers_and_paths_cannot_escape_contract_root(tmp_path): def test_remote_failures_are_best_effort_and_preserve_repository(tmp_path, capsys): - class FailingApi: - def upload_file(self, **kwargs): - raise RuntimeError("401 token=do-not-record") - - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=FailingApi(), - upload_interval_seconds=0, + telemetry, emitter = _remote_recorder( + tmp_path, FakeEmitterClient(accept_run_files=False) ) telemetry.stage("input_verification", force_upload=True) delivery = telemetry.delivery_summary - assert delivery["configured_repository"] == "policyengine/populace-uk-staging" + assert delivery["configured_repository"] == UK_STAGING + # The three files the emitter did not accept count as attempts. + assert len(emitter.run_file_requests[-1].files) == 3 assert delivery["upload_attempts"] == 3 assert delivery["upload_successes"] == 0 assert delivery["last_error_code"] == "UPLOAD_FAILED" assert telemetry.validate_local_bundle()["progress"]["status"] == "running" - assert "do-not-record" not in capsys.readouterr().err + assert "staging hand-over failed" in capsys.readouterr().err + + +def test_a_build_without_an_emitter_records_the_failed_hand_over(tmp_path): + telemetry, _ = _remote_recorder(tmp_path, emitter_client=None) + telemetry.complete() + + delivery = telemetry.delivery_summary + assert delivery["mode"] == "local_and_remote" + assert delivery["upload_successes"] == 0 + assert delivery["last_error_code"] == "UPLOAD_FAILED" + assert telemetry.validate_local_bundle()["progress"]["status"] == "completed" def test_remote_read_back_validates_the_written_run(tmp_path): - api = MemoryApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - ) + telemetry, emitter = _remote_recorder(tmp_path) telemetry.set_sample(_sample()) telemetry.complete() telemetry.verify_remote() - assert isinstance(telemetry._upload_session, BestEffortUploadSession) + assert "read_back_run_files" in emitter.calls + assert { + (request.repository, request.run_id, request.prefix) + for request in emitter.run_file_requests + } == {(UK_STAGING, "uk-smoke-5-42", "runs")} + assert all(request.latest_pointer is None for request in emitter.run_file_requests) + assert all(request.run_index_entry is None for request in emitter.run_file_requests) assert telemetry.delivery_summary["read_back"] == "passed" assert telemetry.uploads_succeeded > 0 - assert "runs/uk-smoke-5-42/run_manifest.json" in api.files - assert all(path.startswith("runs/uk-smoke-5-42/") for path in api.files) - remote_manifest = json.loads(api.files["runs/uk-smoke-5-42/run_manifest.json"]) + remote = _remote_files(emitter) + assert "runs/uk-smoke-5-42/run_manifest.json" in remote + assert all(path.startswith("runs/uk-smoke-5-42/") for path in remote) + remote_manifest = json.loads(remote["runs/uk-smoke-5-42/run_manifest.json"]) assert remote_manifest["delivery"]["read_back"] == "passed" def test_remote_read_back_requires_a_final_run_status(tmp_path): - api = MemoryApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - ) + telemetry, emitter = _remote_recorder(tmp_path) with pytest.raises(StagingContractError, match="completed, blocked or failed"): telemetry.verify_remote() assert telemetry.delivery_summary["read_back"] == "not_requested" - assert api.files == {} - assert api.downloaded == [] + assert emitter.hub_files == {} + assert emitter.calls == [] @pytest.mark.parametrize("final_status", ["completed", "failed"]) @@ -467,52 +509,28 @@ def test_remote_read_back_rejects_schema_valid_content_changes( path, mutate, ): - api = MemoryApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - ) - telemetry.complete() - download = telemetry._transport.download - - def altered_download(path_in_repo, **kwargs): - data = download(path_in_repo, **kwargs) - if path_in_repo == path: - document = json.loads(data) - mutate(document) - return json.dumps(document).encode() - return data + def altered(data): + document = json.loads(data) + mutate(document) + return json.dumps(document).encode() - telemetry._transport.download = altered_download + telemetry, _ = _remote_recorder(tmp_path, _AlteringEmitter(path, altered)) + telemetry.complete() - with pytest.raises(StagingReadBackError, match="does not match local"): + with pytest.raises(StagingReadBackError, match=f"differ.*{path}"): telemetry.verify_remote() assert telemetry.delivery_summary["read_back"] == "failed" + assert telemetry.delivery_summary["last_error_code"] == "READ_BACK_FAILED" def test_remote_producers_have_disjoint_run_scoped_upload_paths(tmp_path): - api = MemoryApi(tmp_path) - first = _recorder( - tmp_path / "first", - run_id="first", - candidate_id="first", - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, + emitter = FakeEmitterClient() + first, _ = _remote_recorder( + tmp_path / "first", emitter, run_id="first", candidate_id="first" ) - second = _recorder( - tmp_path / "second", - run_id="second", - candidate_id="second", - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, + second, _ = _remote_recorder( + tmp_path / "second", emitter, run_id="second", candidate_id="second" ) first_paths = {remote for _, remote in first._upload_paths()} @@ -524,59 +542,93 @@ def test_remote_producers_have_disjoint_run_scoped_upload_paths(tmp_path): def test_remote_delivery_matches_local_delivery_after_completion(tmp_path): - api = MemoryApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - ) + telemetry, emitter = _remote_recorder(tmp_path) telemetry.complete() + # The documents carry the emitter's counts after the hand-over that + # delivered them; this emitter commits at once. expected = telemetry.delivery_summary assert expected["upload_attempts"] == len(telemetry._upload_paths()) assert expected["upload_successes"] == expected["upload_attempts"] + remote = _remote_files(emitter) for filename in ("run_manifest.json", "progress.json"): - remote = json.loads(api.files[f"runs/uk-smoke-5-42/{filename}"]) - assert remote["delivery"] == expected + document = json.loads(remote[f"runs/uk-smoke-5-42/{filename}"]) + assert document["delivery"] == expected + + +def test_delivery_counts_are_what_the_emitter_reported(tmp_path): + """Files the emitter has not committed yet do not count as delivered.""" + + class NotYetCommitted(FakeEmitterClient): + def _receipt(self, repository, run_id): + return { + **super()._receipt(repository, run_id), + "pending_files": 3, + "files_attempted": 0, + "files_committed": 0, + "commit_attempts": 0, + "commits": 0, + } + + telemetry, emitter = _remote_recorder(tmp_path, NotYetCommitted()) + telemetry.stage("input_verification", force_upload=True) + telemetry.complete() + + delivery = telemetry.delivery_summary + assert len(emitter.run_file_requests) >= 2 + assert delivery["upload_attempts"] == delivery["upload_successes"] == 0 + assert delivery["last_error_code"] is None + telemetry.validate_local_bundle() def test_remote_delivery_matches_local_delivery_after_read_back(tmp_path): - api = MemoryApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - ) + telemetry, emitter = _remote_recorder(tmp_path) telemetry.complete() - counted_paths = len(telemetry._upload_paths()) telemetry.verify_remote() expected = telemetry.delivery_summary - assert expected["upload_attempts"] == 3 * counted_paths - assert expected["upload_successes"] == expected["upload_attempts"] + assert expected["read_back"] == "passed" + assert expected["upload_successes"] == expected["upload_attempts"] > 0 + remote = _remote_files(emitter) for filename in ("run_manifest.json", "progress.json"): - remote = json.loads(api.files[f"runs/uk-smoke-5-42/{filename}"]) - assert remote["delivery"] == expected + document = json.loads(remote[f"runs/uk-smoke-5-42/{filename}"]) + assert document["delivery"] == expected -def test_remote_read_back_failure_is_explicit(tmp_path): - class UploadOnlyApi(MemoryApi): - def hf_hub_download(self, **kwargs): - raise RuntimeError("unavailable") +@pytest.mark.parametrize( + "answer", + [ + { + "status": "failed", + "files": 3, + "mismatched_paths": [], + "error_code": "REPOSITORY_UNAVAILABLE", + }, + {"status": "pending", "files": 0, "mismatched_paths": [], "error_code": None}, + { + "status": "unavailable", + "files": 0, + "mismatched_paths": [], + "error_code": None, + }, + ], +) +def test_remote_read_back_failure_is_explicit(tmp_path, answer): + emitter = FakeEmitterClient() + emitter.read_back_answer = answer + telemetry, _ = _remote_recorder(tmp_path, emitter) + telemetry.complete() - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=UploadOnlyApi(tmp_path), - upload_interval_seconds=0, - ) + with pytest.raises(StagingReadBackError, match="read-back failed"): + telemetry.verify_remote() + assert telemetry.delivery_summary["read_back"] == "failed" + assert telemetry.delivery_summary["last_error_code"] == "READ_BACK_FAILED" + + +def test_remote_read_back_without_an_emitter_fails(tmp_path): + telemetry, _ = _remote_recorder(tmp_path, emitter_client=None) telemetry.complete() with pytest.raises(StagingReadBackError, match="read-back failed"): @@ -595,20 +647,15 @@ def test_a_failed_refresh_after_a_passed_read_back_keeps_the_verified_delivery( delivery as it was before read-back; the run is not failed. """ - class RefreshFailsApi(MemoryApi): - def upload_file(self, **kwargs): - if self.downloaded: - raise RuntimeError("503 token=do-not-record") - super().upload_file(**kwargs) - - api = RefreshFailsApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - ) + class RefreshFails(FakeEmitterClient): + def read_back_run_files(self, repository, run_id, *, wait_seconds=30.0): + answer = super().read_back_run_files( + repository, run_id, wait_seconds=wait_seconds + ) + self.accept_run_files = False + return answer + + telemetry, emitter = _remote_recorder(tmp_path, RefreshFails()) telemetry.set_sample(_sample()) telemetry.complete() @@ -620,25 +667,22 @@ def upload_file(self, **kwargs): assert delivery["upload_attempts"] > delivery["upload_successes"] > 0 bundle = telemetry.validate_local_bundle() assert bundle["run_manifest"]["delivery"] == delivery - remote_manifest = json.loads(api.files["runs/uk-smoke-5-42/run_manifest.json"]) + remote_manifest = json.loads( + _remote_files(emitter)["runs/uk-smoke-5-42/run_manifest.json"] + ) assert remote_manifest["delivery"]["read_back"] == "not_requested" - err = capsys.readouterr().err - assert "staging upload failed" in err - assert "do-not-record" not in err + assert "staging hand-over failed" in capsys.readouterr().err def test_a_failed_read_back_keeps_its_error_code_through_later_uploads(tmp_path): - class UploadOnlyApi(MemoryApi): - def hf_hub_download(self, **kwargs): - raise RuntimeError("unavailable") - - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=UploadOnlyApi(tmp_path), - upload_interval_seconds=0, - ) + emitter = FakeEmitterClient() + emitter.read_back_answer = { + "status": "failed", + "files": 3, + "mismatched_paths": [], + "error_code": "REPOSITORY_UNAVAILABLE", + } + telemetry, _ = _remote_recorder(tmp_path, emitter) telemetry.complete() with pytest.raises(StagingReadBackError): telemetry.verify_remote() @@ -870,15 +914,8 @@ def test_canonical_version_3_fixtures_are_reproducible(): ) -def test_remote_read_back_downloads_every_run_scoped_file(tmp_path): - api = MemoryApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - ) +def test_remote_read_back_covers_every_run_scoped_file(tmp_path): + telemetry, emitter = _remote_recorder(tmp_path) diagnostic = tmp_path / "aggregate.json" diagnostic.write_text(json.dumps({"target_count": 3})) telemetry.add_artifact( @@ -901,8 +938,14 @@ def test_remote_read_back_downloads_every_run_scoped_file(tmp_path): telemetry.verify_remote() + # The emitter compares each file it committed for the run with the Hub. expected = {remote for _, remote in telemetry._upload_paths()} - assert set(api.downloaded) == expected + assert set(_remote_files(emitter)) == expected + assert { + f"runs/uk-smoke-5-42/{item.relative_path}" + for item in emitter.run_file_requests[-1].files + } == expected + assert telemetry.delivery_summary["read_back"] == "passed" @pytest.mark.parametrize( @@ -914,13 +957,8 @@ def test_remote_read_back_downloads_every_run_scoped_file(tmp_path): ], ) def test_remote_read_back_rejects_changed_declared_file(tmp_path, corrupt_path): - api = MemoryApi(tmp_path) - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, + telemetry, _ = _remote_recorder( + tmp_path, _AlteringEmitter(corrupt_path, lambda data: b"{}\n") ) diagnostic = tmp_path / "aggregate.json" diagnostic.write_text(json.dumps({"target_count": 3})) @@ -941,15 +979,8 @@ def test_remote_read_back_rejects_changed_declared_file(tmp_path, corrupt_path): } ) telemetry.complete() - download = telemetry._transport.download - def altered_download(path_in_repo): - data = download(path_in_repo) - return b"{}\n" if path_in_repo == corrupt_path else data - - telemetry._transport.download = altered_download - - with pytest.raises(StagingReadBackError, match="does not match local"): + with pytest.raises(StagingReadBackError, match=f"differ.*{corrupt_path}"): telemetry.verify_remote() assert telemetry.delivery_summary["read_back"] == "failed" @@ -968,22 +999,14 @@ def test_version_2_storage_prefix_is_fixed_to_runs(tmp_path): def test_version_2_accepts_explicit_configuration_for_another_country(tmp_path): repo_id = "example/populace-ca-staging" - api = MemoryApi(tmp_path, repo_id=repo_id) - telemetry = _recorder( - tmp_path, - country_code="CA", - delivery_mode="local_and_remote", - repo_id=repo_id, - api=api, - upload_interval_seconds=0, - ) + telemetry, emitter = _remote_recorder(tmp_path, country_code="CA", repo_id=repo_id) telemetry.complete() manifest = telemetry.validate_local_bundle()["run_manifest"] assert manifest["country_code"] == "CA" assert manifest["delivery"]["configured_repository"] == repo_id - assert api.files + assert _remote_files(emitter, repo_id) def test_version_2_cli_uses_country_owned_repository_configuration(monkeypatch): @@ -1257,81 +1280,57 @@ def whoami(self): ) -class _RateLimitedApi(MemoryApi): - """Fail the next ``failures_left`` writes, as a rate-limited Hub does.""" - - def __init__(self, root: Path) -> None: - super().__init__(root) - self.failures_left = 0 - self.calls = 0 - - def upload_file(self, **kwargs): - self.calls += 1 - if self.failures_left > 0: - self.failures_left -= 1 - raise RuntimeError("429 rate limited token=do-not-record") - super().upload_file(**kwargs) - - def _paused_remote_recorder(tmp_path): - api = _RateLimitedApi(tmp_path) - sleeps: list[float] = [] - telemetry = _recorder( - tmp_path, - delivery_mode="local_and_remote", - repo_id="policyengine/populace-uk-staging", - api=api, - upload_interval_seconds=0, - sleep=sleeps.append, - ) + emitter = FakeEmitterClient(accept_run_files=False) + telemetry, _ = _remote_recorder(tmp_path, emitter) telemetry.set_sample(_sample()) - # Three consecutive failures pause remote writes for the rest of the run. - api.failures_left = 3 - telemetry.stage("calibrating", force_upload=True) + # Three consecutive hand-overs the emitter does not accept pause the + # run's hand-overs until its final state. + for stage in ("input_verification", "sampling", "calibrating"): + telemetry.stage(stage, force_upload=True) assert telemetry.delivery_summary["last_error_code"] == "UPLOAD_FAILED" - calls_paused = api.calls + requests_paused = len(emitter.run_file_requests) telemetry.stage("diagnostics", force_upload=True) - assert api.calls == calls_paused - return telemetry, api, sleeps + assert len(emitter.run_file_requests) == requests_paused == 3 + return telemetry, emitter -def test_completion_flushes_the_terminal_state_after_paused_uploads(tmp_path): +def test_completion_hands_over_the_final_state_after_paused_hand_overs(tmp_path): """The v20 last-mile gap: a paused run left its remote copy 'running'.""" - telemetry, api, sleeps = _paused_remote_recorder(tmp_path) - # The first terminal attempt meets the limit again; the second, after a - # backed-off wait, lands. - api.failures_left = 3 + telemetry, emitter = _paused_remote_recorder(tmp_path) + emitter.accept_run_files = True telemetry.complete() - assert sleeps == [15.0] + + remote = _remote_files(emitter) prefix = telemetry.repo_run_prefix - assert json.loads(api.files[f"{prefix}/progress.json"])["status"] == "completed" - assert {f"{prefix}/run_manifest.json", f"{prefix}/events.ndjson"} <= set(api.files) + assert json.loads(remote[f"{prefix}/progress.json"])["status"] == "completed" + assert {f"{prefix}/run_manifest.json", f"{prefix}/events.ndjson"} <= set(remote) + assert emitter.run_file_requests[-2].flush is True delivery = telemetry.delivery_summary assert delivery["last_error_code"] is None assert delivery["upload_successes"] >= 3 assert delivery["upload_attempts"] > delivery["upload_successes"] -def test_failure_flushes_the_terminal_state_after_paused_uploads(tmp_path): - telemetry, api, sleeps = _paused_remote_recorder(tmp_path) +def test_failure_hands_over_the_final_state_after_paused_hand_overs(tmp_path): + telemetry, emitter = _paused_remote_recorder(tmp_path) + emitter.accept_run_files = True telemetry.fail(RuntimeError("solver exploded")) - assert sleeps == [] prefix = telemetry.repo_run_prefix - assert json.loads(api.files[f"{prefix}/progress.json"])["status"] == "failed" + remote = _remote_files(emitter) + assert json.loads(remote[f"{prefix}/progress.json"])["status"] == "failed" assert telemetry.delivery_summary["last_error_code"] is None -def test_terminal_flush_gives_up_after_bounded_attempts(tmp_path, capsys): - telemetry, api, sleeps = _paused_remote_recorder(tmp_path) - api.failures_left = 100 +def test_a_final_state_the_emitter_does_not_accept_stays_local(tmp_path, capsys): + telemetry, emitter = _paused_remote_recorder(tmp_path) telemetry.complete() - assert sleeps == [15.0, 60.0] - assert telemetry.repo_run_prefix + "/progress.json" not in api.files + assert len(emitter.run_file_requests) == 4 + assert telemetry.repo_run_prefix + "/progress.json" not in _remote_files(emitter) delivery = telemetry.delivery_summary assert delivery["last_error_code"] == "UPLOAD_FAILED" err = capsys.readouterr().err - assert "terminal state did not reach" in err - assert "do-not-record" not in err - # The local bundle is complete whatever the Hub did. + assert "final state was not handed over" in err + # The local bundle is complete whatever the emitter did. assert telemetry.validate_local_bundle()["progress"]["status"] == "completed" diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py index ef862ccd5f..79438e3c11 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py @@ -3153,6 +3153,44 @@ def test_driver_refuses_synthetic_fixture_without_smoke(tmp_path: Path) -> None: ) +def test_remote_spine_staging_hands_its_run_files_to_the_build_emitter( + tmp_path: Path, fake_telemetry_emitters +) -> None: + from microcosm.build.uk_runtime import spine_build + + tool = _load_tool() + args = tool._parse_args( + [ + "--frs-raw-dir", + str(tmp_path), + "--spine-h5", + str(tmp_path / "spine.h5"), + "--spi-tab", + str(tmp_path / "put2223uk.tab"), + "--hmrc-ods", + str(tmp_path / "hmrc.ods"), + "--staging-upload-interval-seconds", + "0", + ] + ) + state = SimpleNamespace(build_id="uk-spine-attempt-fixture") + emitter = spine_build._start_telemetry_emitter(args, state=state) + bundle = spine_build._create_staging_run_bundle(args, state=state) + + assert bundle.emitter_client is emitter.client + bundle.stage("input_verification", force_upload=True) + request = emitter.client.run_file_requests[-1] + assert (request.repository, request.run_id, request.prefix) == ( + "policyengine/populace-uk-staging", + "uk-spine-attempt-fixture", + "runs", + ) + assert "runs/uk-spine-attempt-fixture/progress.json" in emitter.client.paths( + "policyengine/populace-uk-staging" + ) + emitter.close() + + def test_driver_exposes_all_staging_modes_and_rejects_empty_remote( tmp_path: Path, ) -> None: diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_full_build_cli.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_full_build_cli.py index 66ee437d4a..069ad9b58b 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_full_build_cli.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_full_build_cli.py @@ -1294,12 +1294,15 @@ def _drive_epochs(args, telemetry, epochs: int = 2) -> None: def _remote_hub(monkeypatch, **kwargs): + """One fake Hub for the staged dataset and the run files the emitter commits.""" from microcosm.build.uk_runtime import rowwise_staging + from test_support.microcosm_build.telemetry import share_fake_hub from test_support.microcosm_build.uk_rowwise_candidate import _FakeHub hub = _FakeHub(**kwargs) monkeypatch.setattr(rowwise_staging, "_hub_api", lambda: hub) monkeypatch.setattr(rowwise_staging, "_hub_token", lambda: "hf_test_token") + share_fake_hub(monkeypatch, hub) return hub @@ -1455,7 +1458,9 @@ def test_remote_staging_uploads_telemetry_and_the_bundle_in_one_commit( manifest = json.loads((out / cli.MANIFEST_FILENAME).read_text()) # Telemetry went to runs// of the staging repository, artifacts - # included, under the fixed prefix and nothing else. + # included, under the fixed prefix and nothing else. The build's emitter + # committed it: the build itself uploaded nothing to the Hub. + assert hub.uploads == [] telemetry_paths = hub.paths("policyengine/populace-uk-staging") assert telemetry_paths == sorted( f"runs/{run_id}/{name}" @@ -1631,27 +1636,28 @@ def test_a_failed_refresh_after_a_passed_read_back_still_records_the_attempt( """ pytest.importorskip("tables") - from microcosm.build.uk_runtime import rowwise_staging - from test_support.microcosm_build.uk_rowwise_candidate import _FakeHub + from test_support.microcosm_build import telemetry as telemetry_support + from test_support.microcosm_build.emitter import FakeEmitterClient + + class RefreshFails(FakeEmitterClient): + """The emitter stops accepting run files once read-back has passed.""" - class RefreshFailsHub(_FakeHub): read_back_started = False - def hf_hub_download(self, *, repo_id, filename, repo_type, **kwargs): - if filename.startswith("runs/"): - self.read_back_started = True - return super().hf_hub_download( - repo_id=repo_id, filename=filename, repo_type=repo_type, **kwargs + def read_back_run_files(self, repository, run_id, *, wait_seconds=30.0): + answer = super().read_back_run_files( + repository, run_id, wait_seconds=wait_seconds ) + RefreshFails.read_back_started = True + self.accept_run_files = False + return answer - def upload_file(self, **kwargs): - if self.read_back_started: - raise RuntimeError("503 token=do-not-record") - super().upload_file(**kwargs) - - hub = RefreshFailsHub() - monkeypatch.setattr(rowwise_staging, "_hub_api", lambda: hub) - monkeypatch.setattr(rowwise_staging, "_hub_token", lambda: "hf_test_token") + hub = _remote_hub(monkeypatch) + monkeypatch.setattr( + telemetry_support, + "client_factory", + lambda: RefreshFails(hub_files=hub.files), + ) status, out = run_dense_main( tmp_path, monkeypatch, @@ -1662,10 +1668,9 @@ def upload_file(self, **kwargs): ) assert status == 0 - assert hub.read_back_started + assert RefreshFails.read_back_started assert not (out / "failure.json").exists() - err = capsys.readouterr().err - assert "staging upload failed" in err and "do-not-record" not in err + assert "staging hand-over failed" in capsys.readouterr().err delivery = json.loads((out / cli.MANIFEST_FILENAME).read_text())["staging_delivery"] assert delivery["read_back"] == "passed" assert delivery["last_error_code"] is None diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_rowwise_national_role.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_rowwise_national_role.py index e684c94f39..67fe7f0de2 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_rowwise_national_role.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_rowwise_national_role.py @@ -63,6 +63,7 @@ from microcosm.frame import WeightKind from test_support.microcosm_build import uk_calibration_run as seam from test_support.microcosm_build import uk_rowwise_candidate as candidate +from test_support.microcosm_build.telemetry import share_fake_hub from test_support.microcosm_build.uk_calibration_run import ( # noqa: F401 _cgt_projection, _signing_key, @@ -615,6 +616,7 @@ def test_uk_national_role_publishes_telemetry_and_the_bundle_to_the_hub( hub = candidate._FakeHub() monkeypatch.setattr(rowwise_staging, "_hub_api", lambda: hub) monkeypatch.setattr(rowwise_staging, "_hub_token", lambda: "hf_test_token") + share_fake_hub(monkeypatch, hub) out = tmp_path / "national" assert ( @@ -629,6 +631,8 @@ def test_uk_national_role_publishes_telemetry_and_the_bundle_to_the_hub( manifest = json.loads((out / builder.MANIFEST_FILENAME).read_text()) run_id = manifest["build_id"] assert run_id.startswith("uk-frs-calibration-attempt-") + # The build's emitter committed the run files; the build uploaded nothing. + assert hub.uploads == [] telemetry_paths = hub.paths("policyengine/populace-uk-staging") assert telemetry_paths == sorted( f"runs/{run_id}/{name}" diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_fiscal_refresh_builder.py b/packages/microcosm-build/tests/engine_free/us/test_us_fiscal_refresh_builder.py index ba3191f152..c86a84775c 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_fiscal_refresh_builder.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_fiscal_refresh_builder.py @@ -13788,6 +13788,8 @@ def test_us_release_id_guard() -> None: class _TestEmitter: available = True + #: No emitter process: a staging writer built with this one hands nothing over. + client = None def __init__(self) -> None: self.events = [] @@ -13862,6 +13864,57 @@ def namespace(no_staging: bool) -> SimpleNamespace: assert progress.staging_opt_out_reason == "--no-staging" +def test_build_progress_hands_staging_files_to_the_build_emitter( + tmp_path, monkeypatch +) -> None: + from microcosm.build import staging_storage + from microcosm.build.telemetry_emitter import TelemetryRun + from test_support.microcosm_build.telemetry import FakeTelemetryEmitter + + module = _load_builder_module() + monkeypatch.setattr( + staging_storage.HuggingFaceDatasetStorage, + "_api", + lambda storage: pytest.fail("the build contacted the Hub itself"), + ) + emitter = FakeTelemetryEmitter(TelemetryRun("rel-1", "US", "us_fiscal_refresh")) + args = SimpleNamespace( + no_staging=False, + staging_dir=tmp_path / "stage", + staging_repo_id="policyengine/populace-us-staging", + staging_run_id=None, + staging_prefix="runs", + staging_upload_interval_seconds=60.0, + epochs=module.DEFAULT_US_FISCAL_CALIBRATION_EPOCHS, + dense_default_dataset=False, + ) + + progress = module._build_progress( + args, release_root=tmp_path, release_id="rel-1", emitter=emitter + ) + progress.stage("target_compilation", force_upload=True) + progress.fail(RuntimeError("build exploded")) + + client = emitter.client + assert progress.staging_bundle.emitter_client is client + assert {request.repository for request in client.run_file_requests} == { + "policyengine/populace-us-staging" + } + # The failed state reaches the emitter before the build's telemetry + # outcome shuts the emitter down. + last_hand_over = max( + index for index, call in enumerate(client.calls) if call == "stage_run_files" + ) + assert last_hand_over < client.calls.index("close") + remote = client.hub_json( + "policyengine/populace-us-staging", "runs/rel-1/progress.json" + ) + assert remote["status"] == "failed" + assert [ + event["status"] for event in emitter.events if event["event_type"] == "run" + ] == ["failed"] + + def test_hosted_progress_survives_staging_bundle_failure() -> None: module = _load_builder_module() emitter = _TestEmitter() diff --git a/test_support/microcosm_build/emitter.py b/test_support/microcosm_build/emitter.py index 74504197d8..e61449b779 100644 --- a/test_support/microcosm_build/emitter.py +++ b/test_support/microcosm_build/emitter.py @@ -88,6 +88,7 @@ def __init__( *, modules: Iterable[str] = ALL_MODULES, accept_run_files: bool = True, + hub_files: dict[tuple[str, str], bytes] | None = None, ) -> None: self._modules = frozenset(modules) self.accept_run_files = accept_run_files @@ -100,7 +101,8 @@ def __init__( self.run_file_requests: list[StageRunFiles] = [] self.orrery_requests: list[dict[str, Any]] = [] #: What the dataset repositories hold: ``(repository, path)`` to bytes. - self.hub_files: dict[tuple[str, str], bytes] = {} + #: A test may pass a fake Hub's own mapping to share it. + self.hub_files = hub_files if hub_files is not None else {} #: Override for ``read_back_run_files``, when a test needs one. self.read_back_answer: ReadBackResult | None = None self._committed: dict[tuple[str, str], tuple[str, str]] = {} @@ -121,6 +123,13 @@ def paths(self, repository: str) -> list[str]: def hub_json(self, repository: str, path: str) -> Any: return json.loads(self.hub_files[(repository, path)]) + def committed_paths(self, repository: str, run_id: str) -> set[str]: + return { + path + for (repo, path), (owner, _) in self._committed.items() + if repo == repository and owner == run_id + } + # Telemetry --------------------------------------------------------------- def emit_telemetry(self, command: TelemetryCommand) -> bool: diff --git a/test_support/microcosm_build/telemetry.py b/test_support/microcosm_build/telemetry.py index b3f81d9626..815a636bd8 100644 --- a/test_support/microcosm_build/telemetry.py +++ b/test_support/microcosm_build/telemetry.py @@ -20,8 +20,9 @@ from __future__ import annotations +import sys import uuid -from collections.abc import Mapping, Sequence +from collections.abc import Callable, Mapping, Sequence from pathlib import Path from typing import Any @@ -227,6 +228,26 @@ def telemetry_events(messages: Sequence[Mapping[str, Any]]) -> list[dict[str, An return lifecycle.events +#: Makes the in-memory client of each ``FakeTelemetryEmitter`` built without +#: one; :func:`share_fake_hub` replaces it for one test. +client_factory: Callable[[], FakeEmitterClient] = FakeEmitterClient + + +def share_fake_hub(monkeypatch, hub: Any) -> None: + """Commit the run files every fake emitter receives into ``hub.files``. + + ``hub`` is a fake Hub keyed by ``(repository, path)``; the build's other + uploads (staged dataset bundles, releases) still go to it directly, so a + test sees both in one place. + """ + + monkeypatch.setattr( + sys.modules[__name__], + "client_factory", + lambda: FakeEmitterClient(hub_files=hub.files), + ) + + class FakeTelemetryEmitter(LocalTelemetryEmitter): """Microcosm's adapter over an in-memory emitter client.""" @@ -239,7 +260,7 @@ def __init__( ) -> None: super().__init__( run=run, - client=client if client is not None else FakeEmitterClient(), + client=client if client is not None else client_factory(), close_service_on_finish=close_service_on_finish, ) From 225b863dc2ba04e3e2a4b486376155273ceee3c1 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:42:45 +0400 Subject: [PATCH 10/67] Hand staging run files to the build's emitter The version 1 and version 2 staging writers hand their run files to the build's emitter client (microcosm-emitter-interface's stage_run_files) instead of uploading each file with HfApi. The emitter copies the bytes, commits every pending path of a repository in one commit per cycle with the build's credential, merges the version 1 runs index itself, and reads the run back on request. - staging_storage: RunFileHandOver replaces BestEffortUploadSession. It never raises, counts the emitter's receipts, and pauses after three hand-overs in a row that the emitter does not accept. - Version 2 delivery counts are the emitter's as of each document's hand-over; read-back is the emitter's comparison. The final state is handed over once more after a pause; the emitter retries commits, so the writer no longer sleeps between attempts. - The US build and the UK rowwise and spine builds pass their emitter's client to the writers. The US build hands over a failed staging state before its telemetry outcome shuts the emitter down. Contract validation stays in Microcosm. Staged dataset bundles still upload directly (H2b). Co-Authored-By: Claude Opus 5.5 --- .../src/microcosm/build/staging.py | 170 ++++++------ .../src/microcosm/build/staging_storage.py | 254 +++++++++++++---- .../src/microcosm/build/staging_v2.py | 256 +++++++++--------- .../build/uk_runtime/rowwise_staging.py | 16 +- .../microcosm/build/uk_runtime/spine_build.py | 4 + .../engine_free/shared/test_staging_v2.py | 5 +- tools/build_us_fiscal_refresh_release.py | 12 +- 7 files changed, 440 insertions(+), 277 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/staging.py b/packages/microcosm-build/src/microcosm/build/staging.py index 58146c1596..be0d3fd605 100644 --- a/packages/microcosm-build/src/microcosm/build/staging.py +++ b/packages/microcosm-build/src/microcosm/build/staging.py @@ -4,7 +4,8 @@ build completes and validates. Staging telemetry is intentionally weaker and more incremental: it lets dashboards monitor a candidate build before it is a release by writing small JSON artifacts under ``runs//`` and, -optionally, uploading them to a staging Hugging Face dataset repo. +optionally, handing them to the build's local emitter, which commits them to a +staging Hugging Face dataset repo with the build's own credential. """ from __future__ import annotations @@ -21,8 +22,9 @@ from typing import Any from microcosm.build.staging_storage import ( - BestEffortUploadSession, - HuggingFaceDatasetStorage, + RunFileEmitter, + RunFileHandOver, + warn_hand_over_failure, ) STAGING_SCHEMA_VERSION = 1 @@ -59,18 +61,21 @@ def _write_json(path: Path, payload: dict[str, Any]) -> None: @dataclass class StagingRunBundleWriter: - """Write and optionally upload a build's staging run bundle. + """Write a build's staging run bundle and hand it to the build's emitter. Args: run_id: Stable id for this build attempt. candidate_release_id: Release id this run is expected to produce. run_dir: Local directory where staging artifacts are written. - repo_id: Optional Hugging Face dataset repo for staging uploads. + repo_id: Optional Hugging Face dataset repo for staging files. path_prefix: Prefix inside the repo. Defaults to ``"runs"`` so files live under ``runs//``. - api: Optional ``huggingface_hub.HfApi``-shaped object for tests. + emitter_client: The build's local emitter (the interface's + ``EmitterClient``), which commits the handed-over files. Without + one, a configured repository receives nothing. upload_interval_seconds: Minimum interval between best-effort progress - uploads. Final states always upload. + hand-overs, and the emitter's interval between its commits of + them. Final states are always handed over. """ run_id: str @@ -78,7 +83,7 @@ class StagingRunBundleWriter: run_dir: Path | str repo_id: str | None = None path_prefix: str = DEFAULT_STAGING_PREFIX - api: Any = None + emitter_client: RunFileEmitter | None = None upload_interval_seconds: float = 30.0 started_at: str = field(default_factory=_now) @@ -93,16 +98,17 @@ def __post_init__(self) -> None: if not self.path_prefix: self.path_prefix = DEFAULT_STAGING_PREFIX self._last_upload_at = 0.0 - self._upload_failures = 0 - self._upload_successes = 0 - self._storage = ( - HuggingFaceDatasetStorage(self.repo_id, api=self.api) + self._hand_over = ( + RunFileHandOver( + self.emitter_client, + repository=self.repo_id.strip(), + run_id=self.run_id, + prefix=self.path_prefix, + commit_interval_seconds=self.upload_interval_seconds, + ) if self.repo_id else None ) - self._upload_session = ( - BestEffortUploadSession(self._storage) if self._storage else None - ) self._calibration_events: list[dict[str, Any]] = [] self._artifacts: dict[str, dict[str, Any]] = {} self._progress: dict[str, Any] = { @@ -128,36 +134,49 @@ def repo_run_prefix(self) -> str: def uploads_succeeded(self) -> int: """How many files actually reached the staging repo. - Zero on a run that was configured to upload but never managed to -- - no write token, revoked access, a Hub outage. Uploads are best-effort - and never fail the build, so this is the only signal separating a run - that staged from one that merely intended to. + The count the build's emitter last reported committing for this run. + Zero on a run that was configured to stage but never managed to: no + emitter, no write token, revoked access, a Hub outage. Staging is + best-effort and never fails the build, so this is the only signal + separating a run that staged from one that merely intended to. """ - return self._upload_successes + if self._hand_over is None: + return 0 + self._hand_over.receipt() + return self._hand_over.files_committed - def _upload_file(self, local: Path, path_in_repo: str) -> None: - if self._upload_session is None or not self.repo_id: + def _hand_over_files( + self, + files: list[tuple[str, Path]], + *, + latest_pointer: Path | None = None, + run_index_entry: dict[str, Any] | None = None, + flush: bool, + ) -> None: + if self._hand_over is None or not self.repo_id: return # Best-effort: staging telemetry must never fail (or stall) a build. - # After three consecutive failures — e.g. no write token — stop trying - # for the rest of the run; local staging artifacts are still written. - result = self._upload_session.upload(local, path_in_repo) - self._upload_failures = self._upload_session.consecutive_failures - self._upload_successes = self._upload_session.successes - if not result.succeeded: + # After three hand-overs in a row the emitter does not accept (no + # emitter, or one that does not answer), stop for the rest of the run; + # local staging artifacts are still written. + result = self._hand_over.hand_over( + files, + latest_pointer=latest_pointer, + run_index_entry=run_index_entry, + flush=flush, + ) + if result.accepted: + return + warn_hand_over_failure(self._hand_over.repository, result) + if result.became_paused: print( - f"warning: staging upload of {path_in_repo} failed: {result.error}", + "warning: disabling staging hand-overs for this run after " + "three in a row failed; local staging artifacts are still " + "written.", file=sys.stderr, ) - if result.became_disabled: - print( - "warning: disabling staging uploads for this run after " - "three consecutive failures; local staging artifacts are " - "still written.", - file=sys.stderr, - ) - self.repo_id = None + self.repo_id = None def _maybe_upload(self, *, force: bool = False) -> None: if not self.repo_id: @@ -166,19 +185,28 @@ def _maybe_upload(self, *, force: bool = False) -> None: if not force and now - self._last_upload_at < self.upload_interval_seconds: return self._last_upload_at = now - for filename in ( - "run_manifest.json", - "progress.json", - "calibration_progress.json", - "events.ndjson", - ): - local = self.run_dir / filename - if local.exists(): - self._upload_file(local, f"{self.repo_run_prefix}/{filename}") - self._upload_latest_pointer() - self._upload_runs_index() - - def _upload_latest_pointer(self) -> None: + files = [ + (filename, self.run_dir / filename) + for filename in ( + "run_manifest.json", + "progress.json", + "calibration_progress.json", + "events.ndjson", + ) + if (self.run_dir / filename).exists() + ] + pointer = self._write_latest_pointer() + self._write_runs_index() + # The emitter merges this run's entry into the repository's runs.json + # when it commits, keeping every other run. + self._hand_over_files( + files, + latest_pointer=pointer, + run_index_entry=self.run_summary(), + flush=force, + ) + + def _write_latest_pointer(self) -> Path: payload = { "schema_version": STAGING_SCHEMA_VERSION, "run_id": self.run_id, @@ -195,46 +223,18 @@ def _upload_latest_pointer(self) -> None: } local = self.run_dir / LATEST_STAGING_POINTER _write_json(local, payload) - self._upload_file(local, LATEST_STAGING_POINTER) - - def _existing_runs(self) -> list[dict[str, Any]]: - """Best-effort fetch of the runs index already in the repo.""" - if self._storage is None or not self.repo_id: - return [] - try: - data = json.loads(self._storage.download(RUNS_INDEX)) - except Exception: - # Index missing (first run) or unreadable; start from scratch. - return [] - runs = data.get("runs") if isinstance(data, dict) else None - if not isinstance(runs, list): - return [] - return [run for run in runs if isinstance(run, dict) and run.get("run_id")] - - def _upload_runs_index(self) -> None: - # Upsert this run into the existing index rather than overwriting it, so - # the index keeps every run instead of only the last one to upload. - current = self.run_summary() - runs = [ - run for run in self._existing_runs() if run.get("run_id") != self.run_id - ] - runs.append(current) - runs.sort( - key=lambda run: str( - run.get("updated_at") or run.get("started_at") or run.get("run_id") - ), - reverse=True, - ) - local = self.run_dir / RUNS_INDEX + return local + + def _write_runs_index(self) -> None: + """This run's local index: the repository's copy is the emitter's merge.""" _write_json( - local, + self.run_dir / RUNS_INDEX, { "schema_version": STAGING_SCHEMA_VERSION, "updated_at": _now(), - "runs": runs, + "runs": [self.run_summary()], }, ) - self._upload_file(local, RUNS_INDEX) def run_summary(self) -> dict[str, Any]: return { @@ -359,7 +359,7 @@ def attach_artifact( } self._write_run_manifest() if local.exists(): - self._upload_file(local, f"{self.repo_run_prefix}/{source.name}") + self._hand_over_files([(source.name, local)], flush=force_upload) self._maybe_upload(force=force_upload) def fail(self, error: BaseException) -> None: diff --git a/packages/microcosm-build/src/microcosm/build/staging_storage.py b/packages/microcosm-build/src/microcosm/build/staging_storage.py index 59ed736b9e..c6e48d207c 100644 --- a/packages/microcosm-build/src/microcosm/build/staging_storage.py +++ b/packages/microcosm-build/src/microcosm/build/staging_storage.py @@ -1,17 +1,36 @@ -"""Country-neutral configuration and remote storage for staging data.""" +"""Country-neutral configuration, remote storage and run-file hand-over. + +Staging run files (``runs//...``) go to the build's local emitter, +which commits them to the dataset repository with the build's own Hugging +Face credential (:class:`RunFileHandOver`). :class:`HuggingFaceDatasetStorage` +reads and writes the repository directly for the staged dataset bundle and +the tools that fetch it. +""" from __future__ import annotations +import math +import sys from collections.abc import Mapping, Sequence from dataclasses import dataclass from pathlib import Path -from typing import Any +from typing import Any, Protocol + +from microcosm_emitter_interface import RunFile, StageRunFiles +from microcosm_emitter_interface.staging import ( + ReadBackResult, + RunFilesReceipt, + unavailable_read_back, + unavailable_run_files_receipt, +) __all__ = [ - "BestEffortUploadSession", + "HandOverResult", "HuggingFaceDatasetStorage", + "RunFileEmitter", + "RunFileHandOver", "StagingRepositoryConfig", - "UploadResult", + "warn_hand_over_failure", ] @@ -236,83 +255,202 @@ def commit( return oid.strip() +class RunFileEmitter(Protocol): + """The staging calls of the interface's ``EmitterClient``.""" + + def stage_run_files(self, request: StageRunFiles) -> RunFilesReceipt: ... + + def run_files_receipt(self, repository: str, run_id: str) -> RunFilesReceipt: ... + + def read_back_run_files( + self, repository: str, run_id: str, *, wait_seconds: float = ... + ) -> ReadBackResult: ... + + @dataclass(frozen=True) -class UploadResult: - """Outcome of one best-effort remote write.""" +class HandOverResult: + """The emitter's answer to one hand-over of a run's files. + + ``reason`` names why it was not accepted: the receipt's status, or its + refusal code; never exception text. + """ + + accepted: bool + receipt: RunFilesReceipt + paused: bool = False + became_paused: bool = False + reason: str | None = None - attempted: bool - succeeded: bool - disabled: bool - became_disabled: bool - error: Exception | None = None +class RunFileHandOver: + """Hand one staging run's files to the build's local emitter. -class BestEffortUploadSession: - """Apply common retry-stop accounting without selecting a file contract.""" + The emitter copies the files' bytes before it answers, so the writer may + rewrite them at once. It writes every pending path of the repository in + one Hugging Face commit per cycle: an unforced hand-over one + ``commit_interval_seconds`` after its last commit to the repository, and + one with ``flush`` at the next cycle. Its receipts say how many files it + attempted to commit and how many it committed. + + A hand-over the emitter does not accept (no emitter, no answer in time, + or a refused request) never raises. After ``max_consecutive_failures`` of + them in a row, the hand-over pauses until :meth:`reopen`, so a missing or + stalled emitter cannot slow the build. Files in a hand-over that was not + accepted count as attempted, never as committed. + """ def __init__( self, - storage: HuggingFaceDatasetStorage, + emitter: RunFileEmitter | None, *, + repository: str, + run_id: str, + prefix: str = "runs", + commit_interval_seconds: float = 30.0, max_consecutive_failures: int = 3, ) -> None: if max_consecutive_failures < 1: raise ValueError("max_consecutive_failures must be positive.") - self.storage = storage + self.emitter = emitter + self.repository = repository + self.run_id = run_id + self.prefix = prefix + # The request needs a finite interval. A writer with an infinite one + # hands over only forced states, which the emitter commits at once. + interval = float(commit_interval_seconds) + self.commit_interval_seconds = ( + max(0.0, interval) if math.isfinite(interval) else 0.0 + ) self.max_consecutive_failures = max_consecutive_failures - self.attempts = 0 - self.successes = 0 self.consecutive_failures = 0 self.enabled = True - - def upload( + #: Whether the most recent hand-over was accepted; None before one. + self.last_accepted: bool | None = None + #: The most recent receipt in which the emitter recorded the run. + self.last_receipt: RunFilesReceipt | None = None + self._files_not_accepted = 0 + + @property + def files_committed(self) -> int: + """Files the emitter reported committed, as of its last receipt.""" + receipt = self.last_receipt + return int(receipt["files_committed"]) if receipt else 0 + + @property + def files_attempted(self) -> int: + """Files the emitter attempted to commit, plus those it did not accept.""" + receipt = self.last_receipt + attempted = int(receipt["files_attempted"]) if receipt else 0 + return attempted + self._files_not_accepted + + @property + def last_error_code(self) -> str | None: + """The emitter's last commit error for the run, as of its last receipt.""" + receipt = self.last_receipt + return receipt["last_error_code"] if receipt else None + + def _record(self, receipt: RunFilesReceipt) -> bool: + if receipt.get("status") != "recorded": + return False + self.last_receipt = receipt + return True + + def receipt(self) -> RunFilesReceipt | None: + """Ask the emitter for the run's counts; keep the last known otherwise.""" + if self.emitter is not None: + try: + self._record( + self.emitter.run_files_receipt(self.repository, self.run_id) + ) + except Exception: + pass + return self.last_receipt + + def hand_over( self, - local_path: Path, - path_in_repo: str, + files: Sequence[tuple[str, Path]], *, - count: bool = True, - ) -> UploadResult: - """Attempt one write and stop the session after repeated failures.""" - + latest_pointer: Path | None = None, + run_index_entry: Mapping[str, Any] | None = None, + flush: bool = False, + ) -> HandOverResult: + """Hand over ``(relative path, local path)`` pairs under the run's folder.""" + offered = len(files) + (latest_pointer is not None) if not self.enabled: - return UploadResult( - attempted=False, - succeeded=False, - disabled=True, - became_disabled=False, + return HandOverResult( + accepted=False, + receipt=unavailable_run_files_receipt(self.repository, self.run_id), + paused=True, + reason="paused", ) - if count: - self.attempts += 1 + receipt: RunFilesReceipt try: - self.storage.upload(local_path, path_in_repo) - except Exception as error: - self.consecutive_failures += 1 - became_disabled = self.consecutive_failures >= self.max_consecutive_failures - if became_disabled: - self.enabled = False - return UploadResult( - attempted=True, - succeeded=False, - disabled=not self.enabled, - became_disabled=became_disabled, - error=error, + request = StageRunFiles( + repository=self.repository, + run_id=self.run_id, + files=[RunFile(relative, Path(local)) for relative, local in files], + prefix=self.prefix, + latest_pointer=latest_pointer, + run_index_entry=run_index_entry, + flush=flush, + commit_interval_seconds=self.commit_interval_seconds, ) - self.consecutive_failures = 0 - if count: - self.successes += 1 - return UploadResult( - attempted=True, - succeeded=True, - disabled=False, - became_disabled=False, + except ValueError: + receipt = { + **unavailable_run_files_receipt(self.repository, self.run_id), + "status": "refused", + "refusal_code": "INVALID_REQUEST", + } + else: + if self.emitter is None: + receipt = unavailable_run_files_receipt(self.repository, self.run_id) + else: + try: + receipt = self.emitter.stage_run_files(request) + except Exception: + receipt = unavailable_run_files_receipt( + self.repository, self.run_id + ) + accepted = self._record(receipt) + self.last_accepted = accepted + if accepted: + self.consecutive_failures = 0 + return HandOverResult(accepted=True, receipt=receipt) + self._files_not_accepted += offered + self.consecutive_failures += 1 + became_paused = self.consecutive_failures >= self.max_consecutive_failures + if became_paused: + self.enabled = False + return HandOverResult( + accepted=False, + receipt=receipt, + paused=not self.enabled, + became_paused=became_paused, + reason=str(receipt.get("refusal_code") or receipt.get("status")), ) - def reopen(self) -> None: - """Re-enable writes after a pause, for a terminal flush of the run state. - - The attempt and success counters are kept: the delivery summary - still reports every write the run made. - """ + def read_back(self, *, wait_seconds: float) -> ReadBackResult: + """Ask the emitter to commit the run's pending files and compare the Hub's.""" + if self.emitter is None: + return unavailable_read_back() + try: + return self.emitter.read_back_run_files( + self.repository, self.run_id, wait_seconds=wait_seconds + ) + except Exception: + return unavailable_read_back() + def reopen(self) -> None: + """Hand over again after a pause, for the run's final state.""" self.consecutive_failures = 0 self.enabled = True + + +def warn_hand_over_failure(repository: str, result: HandOverResult) -> None: + """Report a hand-over the emitter did not accept, without exception text.""" + print( + "warning: staging hand-over failed: the local emitter did not accept " + f"the run files for {repository} ({result.reason}); local staging " + "files are still written.", + file=sys.stderr, + ) diff --git a/packages/microcosm-build/src/microcosm/build/staging_v2.py b/packages/microcosm-build/src/microcosm/build/staging_v2.py index 727ec452ec..503581ac73 100644 --- a/packages/microcosm-build/src/microcosm/build/staging_v2.py +++ b/packages/microcosm-build/src/microcosm/build/staging_v2.py @@ -22,8 +22,9 @@ from jsonschema import Draft202012Validator, FormatChecker from microcosm.build.staging_storage import ( - BestEffortUploadSession, - HuggingFaceDatasetStorage, + RunFileEmitter, + RunFileHandOver, + warn_hand_over_failure, ) #: The delivery summary's contract version. Its shape has not changed since version 2, @@ -802,12 +803,24 @@ def _reject_record_collections(self, value: Any) -> None: class StagingRunBundleWriterV2: - """Record, validate, persist, and optionally upload a staging run bundle. + """Record, validate and persist a staging run bundle, and hand it over. Writes version 3 documents (``STAGING_DOCUMENT_VERSION``); the delivery summary keeps contract version 2. + + In ``local_and_remote`` mode the run's files go to ``emitter_client``, the + build's local emitter, which commits them to ``repo_id`` with the build's + own Hugging Face credential and reads them back on request. The delivery + summary in each document carries the emitter's counts as of that + document's hand-over: the files it attempted to commit (plus any it did + not accept) and the files it committed. A document never counts the + commit that carries it. """ + #: How long read-back waits for the emitter to commit the run's pending + #: files; it spaces two commits to one repository at least 10 seconds apart. + READ_BACK_WAIT_SECONDS = 120.0 + def __init__( self, *, @@ -823,11 +836,10 @@ def __init__( delivery_mode: DeliveryMode = "local_and_remote", repo_id: str | None = None, upload_interval_seconds: float = 30.0, - api: Any = None, + emitter_client: RunFileEmitter | None = None, clock: Callable[[], str] = _utc_now, monotonic: Callable[[], float] = time.monotonic, content_policy: StagingContentPolicy | None = None, - sleep: Callable[[float], None] = time.sleep, ) -> None: self.run_id = _safe_identifier(run_id, label="run_id") self.candidate_id = _safe_identifier(candidate_id, label="candidate_id") @@ -864,16 +876,19 @@ def __init__( self.upload_interval_seconds = max(0.0, float(upload_interval_seconds)) self._clock = clock self._monotonic = monotonic - self._sleep = sleep self._content_policy = content_policy or StagingContentPolicy() - self._transport = ( - HuggingFaceDatasetStorage(self.repo_id, api=api) + self.emitter_client = emitter_client + self._hand_over = ( + RunFileHandOver( + emitter_client, + repository=self.repo_id, + run_id=self.run_id, + prefix=DEFAULT_STAGING_PREFIX, + commit_interval_seconds=self.upload_interval_seconds, + ) if self.delivery_mode == "local_and_remote" and self.repo_id else None ) - self._upload_session = ( - BestEffortUploadSession(self._transport) if self._transport else None - ) self.started_at = self._clock() self.updated_at = self.started_at self.status: LifecycleStatus = "running" @@ -887,8 +902,6 @@ def __init__( self._events: list[dict[str, Any]] = [] self._calibration_events: list[dict[str, Any]] = [] self._last_upload_at = 0.0 - self._consecutive_upload_failures = 0 - self._remote_disabled = False self._delivery = { "contract_version": STAGING_CONTRACT_VERSION, "enabled": True, @@ -1165,43 +1178,36 @@ def block( self._terminal_upload() def verify_remote(self) -> None: + """Have the emitter compare the Hub's copy of the run with what it committed. + + The emitter first commits the run's pending files, waiting up to + ``READ_BACK_WAIT_SECONDS``. Any answer but ``passed`` (a differing or + missing file, files still pending, no emitter) fails the read-back. + """ if self.status == "running": raise StagingContractError( "Authenticated remote read-back requires a completed, blocked or " "failed staging run." ) - if self._transport is None: + if self._hand_over is None: raise StagingReadBackError("Remote read-back requires remote staging mode.") self._maybe_upload(force=True) - expected = { - remote_path: local_path.read_bytes() - for local_path, remote_path in self._upload_paths() - } - try: - for path, expected_bytes in expected.items(): - remote_bytes = self._transport.download(path) - self._content_policy.validate_remote_file(path, remote_bytes) - if remote_bytes != expected_bytes: - raise StagingReadBackError( - f"Remote file {path} does not match local pre-read-back state." - ) - except Exception as exc: + result = self._hand_over.read_back(wait_seconds=self.READ_BACK_WAIT_SECONDS) + self._hand_over.receipt() + self._record_delivery() + if result["status"] != "passed" or self._hand_over.files_committed < 1: self._delivery["read_back"] = "failed" self._delivery["last_error_code"] = "READ_BACK_FAILED" self._persist_bundle() - if isinstance(exc, StagingReadBackError): - raise - raise StagingReadBackError( - "Authenticated staging read-back failed." - ) from exc + raise StagingReadBackError(_read_back_failure(result)) self._delivery["read_back"] = "passed" self._delivery["last_error_code"] = None self._persist_bundle() # Make the verified state visible to authenticated consumers. This is # best effort because read-back has already established that the core # run files are present and valid: a failed refresh cannot change the - # verified local state (``_upload_path``), and the remote copy may then - # still show the delivery as it was before read-back. + # verified local state (``_record_delivery``), and the remote copy may + # then still show the delivery as it was before read-back. self._maybe_upload(force=True) def _require_running(self, action: str) -> None: @@ -1340,114 +1346,118 @@ def _upload_paths(self) -> list[tuple[Path, str]]: ) return paths - def _upload_path( - self, - local_path: Path, - remote_path: str, - *, - count_delivery: bool, - ) -> bool: - if self._upload_session is None: - return False - data = local_path.read_bytes() - self._content_policy.validate_remote_file(remote_path, data) - result = self._upload_session.upload( - local_path, - remote_path, - count=count_delivery, - ) - self._delivery["upload_attempts"] = self._upload_session.attempts - self._delivery["upload_successes"] = self._upload_session.successes - self._consecutive_upload_failures = self._upload_session.consecutive_failures - self._remote_disabled = not self._upload_session.enabled + def _record_delivery(self) -> None: + """Copy the emitter's counts, and the last hand-over's outcome, locally.""" + hand_over = self._hand_over + if hand_over is None: + return + attempts = hand_over.files_attempted + self._delivery["upload_attempts"] = attempts + self._delivery["upload_successes"] = min(hand_over.files_committed, attempts) # Once read-back has given its verdict, the verdict owns the error # code: the delivery contract ties a passed read-back to no error and - # a failed one to READ_BACK_FAILED, so a later refresh upload, failed - # or not, cannot rewrite it (microcosm#1301). A failed refresh stays - # visible as an attempt without a success. - owns_error = self._delivery["read_back"] == "not_requested" - if not result.succeeded: - if owns_error: - self._delivery["last_error_code"] = "UPLOAD_FAILED" + # a failed one to READ_BACK_FAILED, so a later refresh, delivered or + # not, cannot rewrite it (microcosm#1301). A refresh the emitter did + # not accept stays visible as an attempt without a success. + if self._delivery["read_back"] != "not_requested": + return + failed = hand_over.last_accepted is False or ( + hand_over.last_error_code is not None + ) + self._delivery["last_error_code"] = "UPLOAD_FAILED" if failed else None + + def _hand_over_files(self, files: list[tuple[str, Path]], *, flush: bool) -> bool: + assert self._hand_over is not None + result = self._hand_over.hand_over(files, flush=flush) + if not result.accepted: + warn_hand_over_failure(self._hand_over.repository, result) + if result.became_paused: print( - f"warning: staging upload failed for {remote_path}", + "warning: pausing staging hand-overs after three in a row " + "failed; local telemetry continues.", file=sys.stderr, ) - if result.became_disabled: - print( - "warning: pausing remote staging writes after three " - "consecutive failures; local telemetry continues.", - file=sys.stderr, - ) - else: - if owns_error: - self._delivery["last_error_code"] = None - return True - return False - - def _reconcile_remote_delivery_metadata(self) -> None: - """Refresh counter-bearing metadata without counting these two writes.""" - - for filename in ("run_manifest.json", "progress.json"): - if self._remote_disabled: - break - self._persist_bundle() - self._upload_path( - self.run_dir / filename, - f"{self.repo_run_prefix}/{filename}", - count_delivery=False, - ) - self._persist_bundle() - - #: Delays before each terminal upload attempt. Mid-run, three consecutive - #: failures pause remote writes for the rest of the run so a rate-limited - #: Hub is not hammered; the terminal state is different: a run whose remote - #: copy stays "running" forever is the last-mile gap the v20 national run - #: met (its final state was delivered by hand), so completion and failure - #: re-open the session for a bounded, backed-off final flush. - _TERMINAL_UPLOAD_DELAYS: tuple[float, ...] = (0.0, 15.0, 60.0) + return result.accepted def _terminal_upload(self) -> None: - """Deliver the terminal state even after failures paused remote writes.""" + """Hand over the final state even after failures paused hand-overs. + + Mid-run, three hand-overs in a row that the emitter does not accept + pause them for the rest of the run, so a missing or stalled emitter + cannot slow the build. The final state is different: a run whose + remote copy stays "running" forever is the last-mile gap the v20 + national run met (its final state was delivered by hand), so + completion, failure and a gate block hand it over once more. The + emitter retries its commits itself. + """ - if self._transport is None or self._upload_session is None: + if self._hand_over is None: return - for delay in self._TERMINAL_UPLOAD_DELAYS: - if delay > 0.0: - self._sleep(delay) - self._upload_session.reopen() - self._remote_disabled = False - self._consecutive_upload_failures = 0 - self._maybe_upload(force=True) - if ( - not self._remote_disabled - and self._delivery["last_error_code"] != "UPLOAD_FAILED" - ): - return - print( - "warning: the staging run's terminal state did not reach " - f"{self.repo_id} after {len(self._TERMINAL_UPLOAD_DELAYS)} attempts; " - "the local bundle is complete.", - file=sys.stderr, - ) + self._hand_over.reopen() + self._maybe_upload(force=True) + if self._hand_over.last_accepted is False: + print( + "warning: the staging run's final state was not handed over to " + f"the local emitter for {self.repo_id}; the local bundle is " + "complete.", + file=sys.stderr, + ) def _maybe_upload(self, *, force: bool = False) -> None: - if self._transport is None or self._remote_disabled: + hand_over = self._hand_over + if hand_over is None or not hand_over.enabled: return now = self._monotonic() if not force and now - self._last_upload_at < self.upload_interval_seconds: return self._last_upload_at = now + # The documents carry the emitter's counts as of this hand-over. + hand_over.receipt() + self._record_delivery() + self._persist_bundle() + prefix = f"{self.repo_run_prefix}/" + files = [] for local_path, remote_path in self._upload_paths(): - self._upload_path( - local_path, - remote_path, - count_delivery=True, + self._content_policy.validate_remote_file( + remote_path, local_path.read_bytes() ) - if self._remote_disabled: - break + files.append((remote_path.removeprefix(prefix), local_path)) + handed_over = dict(self._delivery) + self._hand_over_files(files, flush=force) + self._record_delivery() + if self._delivery == handed_over: + return self._persist_bundle() - self._reconcile_remote_delivery_metadata() + if not hand_over.last_accepted or not hand_over.enabled: + return + # The hand-over changed what the documents report (the emitter + # committed, or an earlier failure cleared): hand the two documents + # that carry the delivery over again, so the remote copy matches. + self._hand_over_files( + [ + ("run_manifest.json", self.run_dir / "run_manifest.json"), + ("progress.json", self.run_dir / "progress.json"), + ], + flush=force, + ) + if hand_over.last_accepted is False: + self._record_delivery() + self._persist_bundle() + + +def _read_back_failure(result: Mapping[str, Any]) -> str: + """Describe a failed read-back from the emitter's answer, without secrets.""" + status = result.get("status") + mismatched = [str(path) for path in result.get("mismatched_paths") or []] + if mismatched: + detail = "the Hub's copies differ from the committed bytes: " + ", ".join( + mismatched + ) + elif result.get("error_code"): + detail = f"the emitter reported {status} ({result['error_code']})" + else: + detail = f"the emitter reported {status}" + return f"Authenticated staging read-back failed: {detail}." def validate_staging_bundle( diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/rowwise_staging.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/rowwise_staging.py index a27fc79681..290f463987 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/rowwise_staging.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/rowwise_staging.py @@ -8,8 +8,10 @@ These helpers were moved from ``tools/build_uk_rowwise_candidate.py`` so the graph full-build driver and the rowwise tool stage identically; the tool -imports them back. ``_hub_api`` and ``_hub_token`` are the test seams the -drivers' tests patch on this module. +imports them back. The run files go to the build's emitter, which commits +them with the build's own credential; the staged dataset is still uploaded +here. ``_hub_api`` and ``_hub_token`` are the test seams the drivers' tests +patch on this module for the staged dataset. """ from __future__ import annotations @@ -105,8 +107,14 @@ def active_telemetry_emitter() -> LocalTelemetryEmitter | None: return _ACTIVE_EMITTER +def _run_file_emitter() -> Any: + """The client of this build attempt's emitter, which takes its run files.""" + + return None if _ACTIVE_EMITTER is None else _ACTIVE_EMITTER.client + + def _hub_api() -> Any: - """The Hub client used for the run bundle and staged dataset (test seam).""" + """The Hub client used for the staged dataset (test seam).""" from huggingface_hub import HfApi @@ -215,7 +223,7 @@ def create_staging_run_bundle( delivery_mode="local_only" if local_only else "local_and_remote", repo_id=None if local_only else args.staging_repo_id, upload_interval_seconds=args.staging_upload_interval_seconds, - api=None if local_only else _hub_api(), + emitter_client=None if local_only else _run_file_emitter(), ) diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spine_build.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spine_build.py index 29b5919775..59264d00c0 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spine_build.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spine_build.py @@ -1388,6 +1388,10 @@ def _create_staging_run_bundle( delivery_mode="local_only" if local_only else "local_and_remote", repo_id=None if local_only else args.staging_repo_id, upload_interval_seconds=args.staging_upload_interval_seconds, + # The build's emitter commits the run files with its own credential. + emitter_client=( + None if local_only or _ACTIVE_EMITTER is None else _ACTIVE_EMITTER.client + ), ) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py b/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py index bdafe754ee..9df5a15761 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py @@ -941,10 +941,7 @@ def test_remote_read_back_covers_every_run_scoped_file(tmp_path): # The emitter compares each file it committed for the run with the Hub. expected = {remote for _, remote in telemetry._upload_paths()} assert set(_remote_files(emitter)) == expected - assert { - f"runs/uk-smoke-5-42/{item.relative_path}" - for item in emitter.run_file_requests[-1].files - } == expected + assert emitter.committed_paths(UK_STAGING, "uk-smoke-5-42") == expected assert telemetry.delivery_summary["read_back"] == "passed" diff --git a/tools/build_us_fiscal_refresh_release.py b/tools/build_us_fiscal_refresh_release.py index a7a99c4927..0f8fef04d9 100644 --- a/tools/build_us_fiscal_refresh_release.py +++ b/tools/build_us_fiscal_refresh_release.py @@ -11651,9 +11651,13 @@ def attach_artifact( self.staging_bundle.attach_artifact(name, path, **details) def fail(self, error: BaseException) -> None: - self.emitter.fail(error) - if self.staging_bundle is not None: - self.staging_bundle.fail(error) + # The staging run's failed state is handed to the emitter before the + # telemetry outcome shuts the emitter down. + try: + if self.staging_bundle is not None: + self.staging_bundle.fail(error) + finally: + self.emitter.fail(error) def complete(self) -> None: if self.staging_bundle is not None: @@ -12365,6 +12369,8 @@ def _build_progress( run_dir=run_dir, repo_id=args.staging_repo_id, path_prefix=args.staging_prefix, + # The build's emitter commits the run files with its own credential. + emitter_client=emitter.client, upload_interval_seconds=args.staging_upload_interval_seconds, ) _ACTIVE_PROGRESS = _BuildProgress( From caa3354aa0b60533c4e333f36385f1b0706d1399 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:44:15 +0400 Subject: [PATCH 11/67] Test that the Modal image installs the emitter on its own The image should install microcosm-emitter with `uv tool install`, outside the environment synced from uv.lock, check that the command runs, and name it in MICROCOSM_EMITTER_COMMAND for the stage tool. This test fails against the image that has only the synced environment. Co-Authored-By: Claude Opus 5.5 --- .../us/test_us_modal_stage_plan_tool.py | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py b/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py index fc41c2b191..813c0ea4e0 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py @@ -360,6 +360,34 @@ def test_image_pins_the_commit_and_the_lock() -> None: assert commands[-1].startswith('test -z "$(git') +def test_image_installs_the_emitter_command_on_its_own(app) -> None: + """Builds start the separately installed emitter, never the synced one.""" + + plan = plan_lib.parse_plan(_plan_data()) + commands = plan_lib.image_build_commands(plan) + sync = next(index for index, command in enumerate(commands) if "uv sync" in command) + install = commands.index( + "UV_TOOL_BIN_DIR=/usr/local/bin uv tool install 'microcosm-emitter>=0.7.0'" + ) + # Outside the build's environment, after it is synced and before the + # clean-tree check. The image does not build unless the command runs. + assert sync < install < len(commands) - 1 + assert commands[install + 1] == "/usr/local/bin/microcosm-emitter version" + # The interface in the build finds the command through the image's + # environment, which the stage tool inherits. + image = sys.modules["modal"].Image.debian_slim.return_value + image_env = image.apt_install.return_value.pip_install.return_value.env + environment = image_env.call_args.args[0] + assert environment["MICROCOSM_EMITTER_COMMAND"] == ( + "/usr/local/bin/microcosm-emitter" + ) + tool_env, removed = plan_lib.tool_environment( + {"PATH": "/usr/local/bin:/usr/bin", **environment}, {} + ) + assert tool_env["MICROCOSM_EMITTER_COMMAND"] == "/usr/local/bin/microcosm-emitter" + assert "MICROCOSM_EMITTER_COMMAND" not in removed + + # --------------------------------------------------------------------------- # # Hashing, mirroring, receipts # # --------------------------------------------------------------------------- # From 57c0d99b741124a290e9d91ea0d64089ab1cb3ce Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:46:20 +0400 Subject: [PATCH 12/67] Install the emitter on its own in the Modal image The image installs microcosm-emitter (>=0.7.0) with `uv tool install` into /usr/local/bin after syncing the build's environment from uv.lock, and fails to build unless `microcosm-emitter version` runs. The image's environment names the command in MICROCOSM_EMITTER_COMMAND, which the stage tool inherits. Each plan commit's image gets the newest emitter release when it is built; the stage check reports the installed version and refuses an image whose command does not run, and the runner records the version in its identity. Co-Authored-By: Claude Opus 5.5 --- tools/modal_us_stage.py | 33 +++++++++++++++++++++++++-------- tools/modal_us_stage_plan.py | 23 +++++++++++++++++++++++ 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/tools/modal_us_stage.py b/tools/modal_us_stage.py index cab09994cf..c409068c13 100644 --- a/tools/modal_us_stage.py +++ b/tools/modal_us_stage.py @@ -93,14 +93,7 @@ def _image() -> modal.Image: f"uv=={plan_lib.IMAGE_UV_VERSION}", f"huggingface_hub=={plan_lib.RUNNER_HF_HUB_VERSION}", ) - .env( - { - "UV_PROJECT_ENVIRONMENT": plan_lib.IMAGE_VENV, - "UV_PYTHON_DOWNLOADS": "never", - "UV_LINK_MODE": "copy", - "PYTHONDONTWRITEBYTECODE": "1", - } - ) + .env(dict(plan_lib.IMAGE_ENVIRONMENT)) ) if _LOADED is not None: _, plan = _LOADED @@ -227,9 +220,28 @@ def _cpu_visibility() -> dict[str, object]: } +def _emitter_version() -> dict[str, object] | None: + """The installed emitter's ``version`` answer, or None if it does not run.""" + + try: + answer = subprocess.run( + [plan_lib.IMAGE_EMITTER_COMMAND, "version"], + capture_output=True, + text=True, + timeout=60, + ) + version = json.loads(answer.stdout) if answer.returncode == 0 else None + except (OSError, subprocess.SubprocessError, ValueError): + return None + return version if isinstance(version, dict) else None + + def _runner_identity() -> dict[str, object]: identity: dict[str, object] = { "python": sys.version.split()[0], + # The separately installed emitter the build starts for telemetry and + # staging hand-overs; the image installs the newest release. + "microcosm_emitter": _emitter_version(), # Platform and CPU visibility, for comparing a Modal run with a local # one: BLAS, OpenMP and the base's QRF pool size their thread pools # from what they see. @@ -669,6 +681,11 @@ def check_stage(plan_data: dict) -> dict: ) if env_probe.returncode != 0: problems.append("the synced environment does not import microcosm.build") + report["emitter"] = _emitter_version() + if report["emitter"] is None: + problems.append( + f"the emitter command {plan_lib.IMAGE_EMITTER_COMMAND} does not run" + ) argv = plan_lib.planned_argv(plan) parse = ( diff --git a/tools/modal_us_stage_plan.py b/tools/modal_us_stage_plan.py index 0cbace7fff..0c135b67eb 100644 --- a/tools/modal_us_stage_plan.py +++ b/tools/modal_us_stage_plan.py @@ -72,6 +72,24 @@ IMAGE_PYTHON_VERSION = "3.14" IMAGE_UV_VERSION = "0.11.7" RUNNER_HF_HUB_VERSION = "1.18.0" +# A build starts the separately installed microcosm-emitter command as its +# child process (microcosm-emitter-interface); uv.lock pins only the +# interface. The image installs the newest emitter release when it is built +# for a plan commit, outside the synced environment; an image built for one +# commit keeps the emitter it was built with. 0.7.0 is the first release with +# the Hugging Face hand-over module. The stage's runner records the version. +IMAGE_EMITTER_REQUIREMENT = "microcosm-emitter>=0.7.0" +IMAGE_EMITTER_BIN_DIR = "/usr/local/bin" +IMAGE_EMITTER_COMMAND = f"{IMAGE_EMITTER_BIN_DIR}/microcosm-emitter" +#: The image's environment variables, which the stage tool inherits. +IMAGE_ENVIRONMENT = { + "UV_PROJECT_ENVIRONMENT": IMAGE_VENV, + "UV_PYTHON_DOWNLOADS": "never", + "UV_LINK_MODE": "copy", + "PYTHONDONTWRITEBYTECODE": "1", + # Where the interface finds the emitter command (it also searches PATH). + "MICROCOSM_EMITTER_COMMAND": IMAGE_EMITTER_COMMAND, +} WORK_ROOT = "/work" # Modal list prices for standard (non-sandbox) compute, read from @@ -1394,6 +1412,8 @@ def image_build_commands(plan: Plan, repo_root: str = IMAGE_REPO_ROOT) -> list[s The tree is a shallow clone of the pushed commit (so ``git rev-parse`` and ``git status`` inside the tools report the real code vintage), and the environment is synced from that tree's own uv.lock with --frozen. + The emitter command is installed on its own, outside that environment + (``IMAGE_EMITTER_REQUIREMENT``), and must run. """ root = shlex.quote(repo_root) @@ -1405,6 +1425,9 @@ def image_build_commands(plan: Plan, repo_root: str = IMAGE_REPO_ROOT) -> list[s f"git -C {root} checkout -q -B {shlex.quote(plan.branch)} FETCH_HEAD", f'test "$(git -C {root} rev-parse HEAD)" = {commit}', f"cd {root} && uv sync --all-packages --extra us --frozen", + f"UV_TOOL_BIN_DIR={IMAGE_EMITTER_BIN_DIR} uv tool install " + f"{shlex.quote(IMAGE_EMITTER_REQUIREMENT)}", + f"{IMAGE_EMITTER_COMMAND} version", f'test -z "$(git -C {root} status --porcelain)"', ] From 77bec337f118cd7107d2da2f1b3303347ce61623 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:49:13 +0400 Subject: [PATCH 13/67] Document the separately installed emitter The README, the graph publication and UK staging operations docs, the agent guide and the Modal runbook now say that builds start the separately installed microcosm-emitter through the interface, how to install and upgrade it, which settings reach it and how, and what the staging delivery counts mean now that the emitter commits the run files. Adds the changelog fragment. Co-Authored-By: Claude Opus 5.5 --- README.md | 39 +++++++---- changelog.d/h2a-emitter-interface.changed.md | 1 + docs/agent-guide.md | 25 ++++--- docs/orrery-publication.md | 70 ++++++++++++-------- docs/uk-staging-operations.md | 33 ++++++--- docs/us-modal-stage-runbook.md | 11 ++- 6 files changed, 118 insertions(+), 61 deletions(-) create mode 100644 changelog.d/h2a-emitter-interface.changed.md diff --git a/README.md b/README.md index 32912b3a68..7183e1aef6 100644 --- a/README.md +++ b/README.md @@ -51,23 +51,36 @@ immutable publication before Hugging Face artifact staging, and preserves durable retry jobs and receipt snapshots. See [graph publication](docs/orrery-publication.md) for configuration and retry. -Supported US and UK build commands start one local emitter service with separate -telemetry and graph-publication workers. Microcosm supplies build metadata and -graph files; the required `microcosm-emitter` package owns authentication, -durable queues and delivery. Telemetry and graph publication are internal -libraries in that single package, not separate installations. -This draft migration requires a published emitter release before merge; see the -[migration prerequisites](docs/orrery-publication.md#deferred-migration-prerequisites). -The telemetry worker reports live progress to the hosted collector when the operator's -existing Hugging Face login is accepted; otherwise it retains the events +Supported US and UK build commands start the local emitter as the build's +child process, with its telemetry, graph-publication and Hugging Face +hand-over modules. Microcosm depends only on `microcosm-emitter-interface`, +the typed calls a build makes; the emitter itself is installed on its own, +outside the workspace environment, so an emitter release needs no Microcosm +change: + +```bash +uv tool install microcosm-emitter # once per machine +uv tool upgrade microcosm-emitter # to take a new release +``` + +The build finds the `microcosm-emitter` command through +`MICROCOSM_EMITTER_COMMAND`, then `PATH`. The emitter inherits the build's +environment variables and user, so it uses the build's Hugging Face +credential (`HF_TOKEN`, then `HUGGINGFACE_TOKEN`, then the `hf auth login` +token). Without the command the build continues with no hosted telemetry and +no remote staging. Microcosm supplies build metadata, graph files and staging +run files; the emitter owns authentication, durable queues and delivery. +The telemetry module reports live progress to the hosted collector when the +operator's Hugging Face login is accepted; otherwise it retains the events locally and the build continues. This live event path is independent of the staging run files described below. US fiscal refresh builds also write pre-release staging run files **by -default**. Progress JSON is uploaded to `policyengine/populace-us-staging` -while the build runs (best-effort — a missing token or failed upload never -fails the build), so every candidate shows up on the staging dashboard before -it is published. Disable these files with `--no-staging`, or point them +default**. The build hands its progress JSON to the emitter, which commits it +to `policyengine/populace-us-staging` while the build runs, one commit per +upload interval (best-effort: no emitter, a missing token or a failed commit +never fails the build), so every candidate shows up on the staging dashboard +before it is published. Disable these files with `--no-staging`, or point them elsewhere with `--staging-repo-id` / `POPULACE_STAGING_REPO_ID`. An *empty* `POPULACE_STAGING_REPO_ID` is ignored rather than read as off, and staging with no destination at all is an argparse error. `--no-staging` does not disable diff --git a/changelog.d/h2a-emitter-interface.changed.md b/changelog.d/h2a-emitter-interface.changed.md new file mode 100644 index 0000000000..db476e3c17 --- /dev/null +++ b/changelog.d/h2a-emitter-interface.changed.md @@ -0,0 +1 @@ +Builds start the separately installed `microcosm-emitter` command through `microcosm-emitter-interface` (`>=0.7.0,<1`), which replaces the exact `microcosm-emitter==0.2.1` dependency, so an emitter release needs no Microcosm change: install the emitter once per machine with `uv tool install microcosm-emitter`, and the Modal image installs the newest release when it is built. The emitter runs as the build's child process and inherits its environment, so it uses the build's Hugging Face credential. Telemetry events, Orrery graph files and now the version 1 and version 2 staging run files go through it: the writers hand their files over instead of uploading each with `HfApi`, the emitter commits a repository's pending files in one commit per upload interval and merges the version 1 runs index, read-back is the emitter's comparison of the Hub's copy with the bytes it committed, and the delivery counts are the emitter's as of each document's hand-over. Without the command a build continues with no hosted telemetry and no remote staging. The Hugging Face module keeps its hand-overs in `events.handovers.sqlite3` beside the existing spool database, which stays at the revision 0.2.1 used. Staged dataset bundles and releases still upload directly. `uv.lock` drops `microcosm-emitter`, `alembic`, `mako` and `sqlalchemy`, and `APPROVED_UV_LOCK_SHA256` is re-pinned. diff --git a/docs/agent-guide.md b/docs/agent-guide.md index 455aad6cbb..d62c8c6d49 100644 --- a/docs/agent-guide.md +++ b/docs/agent-guide.md @@ -15,9 +15,10 @@ the PEP 420 namespace `microcosm.`: `frame`, `fit`, `calibrate`, `build`, ## Commands UK build completion exports and stages Orrery graph evidence. Publication uses -an independent worker inside the external `microcosm-emitter` service and a durable queue; -see [configuration and retry](orrery-publication.md). No new producer secret or -environment variable is required. Keep graph export/publication tests independent +an independent module of the separately installed `microcosm-emitter`, which the +build starts through `microcosm-emitter-interface`, and a durable queue; see +[configuration and retry](orrery-publication.md). Staging run files go through +the same emitter. No new producer secret is required. Keep graph export/publication tests independent of the hosted runs app and collector; use synthetic files and fake HTTP. ```bash @@ -98,16 +99,18 @@ the one in `test_graph_reconstruction.py` uses it for the reconstruction marker of a declaration-only document. These CI tests perform no browser rendering. -Workspace tests use an in-memory telemetry emitter by default. The shared -fixture isolates Hugging Face credentials and cache paths. Adapter tests replace -emitter startup, inventory and publication APIs with fakes. Emitter process, persistence -and HTTP-delivery tests belong in microcosm-emitter; do not copy them -into Microcosm. Build tests inspect `fake_telemetry_emitters` without creating -sockets or service processes. +Workspace tests use an in-memory emitter client by default +(`test_support/microcosm_build/emitter.py`), and the shared fixture refuses to +start the installed command. It also isolates Hugging Face credentials and cache +paths. Build tests inspect `fake_telemetry_emitters`: their events follow the +emitter's documented request-to-event rules, and the run files they were handed +are in `client.hub_files`. Emitter process, persistence and HTTP-delivery tests +belong in microcosm-emitter; do not copy them into Microcosm. The UK full-build caller sets `close_service_on_finish=False`: reporting an outcome -leaves the graph worker available, and that caller's existing `finally` cleanup -closes the combined service. Other callers close automatically when they finish. +leaves the emitter running for graph and staging hand-overs, and that caller's +existing `finally` cleanup closes it. Other callers close automatically when they +finish, so they hand over their staging run's final state first. Keep validation-refused outcomes and structured failure codes intact when changing the adapter. diff --git a/docs/orrery-publication.md b/docs/orrery-publication.md index 47db198b1c..fc9d8f5370 100644 --- a/docs/orrery-publication.md +++ b/docs/orrery-publication.md @@ -15,11 +15,15 @@ the emitter's file roles and the runs service's contract do not admit it yet. Its content is already inside `graph.orrery.json`, so registering it discloses nothing new. -Microcosm's metadata adapter starts one local emitter service with two independent -workers: live telemetry and completed graph publication. The `microcosm-emitter` package -owns sockets, authentication, persistence, retries and resource sampling. -Microcosm retains graph generation, public-file selection and HF staging. -Slow uploads cannot delay socket acknowledgement or telemetry delivery. +Microcosm's build adapter (`microcosm.build.telemetry_emitter`) starts the +separately installed `microcosm-emitter` command as the build's child process +through `microcosm-emitter-interface`, with independent telemetry, graph +publication and Hugging Face hand-over modules. The emitter owns sockets, +authentication, persistence, retries and resource sampling. Microcosm retains +graph generation, public-file selection and the staged dataset upload. +Slow uploads cannot delay socket acknowledgement or telemetry delivery. A +command that started no emitter of its own starts a short-lived one with only +the graph module to measure and queue the files. UK full-build commands explicitly defer process shutdown when recording a completed, validation-refused or failed telemetry outcome. Their final cleanup closes the combined @@ -43,18 +47,20 @@ aggregate summaries can be published publicly. | Setting | Source and consumer | Provisioning | | --- | --- | --- | -| `HF_TOKEN` / `HUGGINGFACE_TOKEN` | Existing operator credential, exchanged by the service for a short-lived collector session | Existing environment or Hugging Face login; never committed | -| Collector origin | Tracked `PRODUCTION_COLLECTOR_URL` in the emitter's internal core library | No producer variable or destination override | +| `HF_TOKEN` / `HUGGINGFACE_TOKEN` | Existing operator credential, read by the emitter from the environment it inherits from the build and exchanged for a short-lived collector session | Existing environment or Hugging Face login; never committed | +| `MICROCOSM_EMITTER_COMMAND` | Optional path of the `microcosm-emitter` command, read by the interface in the build; without it the interface searches `PATH` | Operator's shell; the Modal image sets it | +| Collector origin | Built into the installed emitter; the build sends no address unless a caller passes a loopback development address in the module settings | No producer variable or destination override | | Runs origin | Tracked `DEFAULT_GRAPH_PUBLICATION_ORIGIN` | No new producer variable | -| `XDG_CACHE_HOME` | Optional existing cache-location setting | Defaults to the user's cache directory | +| `XDG_CACHE_HOME` | Optional existing cache-location setting, read by the interface in the build; the build passes the spool path (`microcosm/telemetry/events.sqlite3`) and the hand-over database beside it (`events.handovers.sqlite3`) to the emitter on its standard input | Defaults to the user's cache directory | The separately deployed runs application retains its Vercel Blob configuration. Authenticated production publication also requires PolicyEngine/calibration-diagnostics#208 deployed, and the runs application's publication API. Producer tests do not contact either hosted service. -No new Microcosm runtime variable or secret is required. Tests isolate ambient -credentials and caches and use fake HTTP or explicit loopback services. +No new secret is required. Tests isolate ambient credentials and caches, +replace the interface's emitter client with an in-memory one, and refuse to +start the installed command. A build exports locally without remote submission unless `--publish-orrery` enables it (María's ruling of 2026-10-26), whatever its staging: @@ -95,26 +101,38 @@ microcosm-emitter-publish-graph --publication-id PUBLICATION_ID \ The preserved directory contains `orrery.upload.json` and the exact files. Retries update a separate `publication.status.json`, never the original -HF receipt snapshot. Pending jobs also resume when a subsequent local service -starts. The retry command comes from the emitter package; Microcosm does not +HF receipt snapshot. Pending jobs also resume when a subsequent emitter +starts. The retry command is installed with the emitter; Microcosm does not retain a second delivery implementation or a compatibility wrapper. ## Emitter dependency -`packages/microcosm-build` depends on one exact `microcosm-emitter` release -from PyPI, which `uv.lock` records with its wheel and source-archive hashes. -Microcosm has no Git source override for the emitter. Every merge to the -emitter's `main` publishes a new version automatically. To adopt one, change the -exact requirement, regenerate `uv.lock`, update `APPROVED_UV_LOCK_SHA256` in -`microcosm.build.us_runtime.worker_identity` to the new lockfile digest and -rerun the tests and wheel checks. +`packages/microcosm-build` depends on `microcosm-emitter-interface` +(`>=0.7.0,<1`), the dependency-free package of typed calls, which `uv.lock` +records with its hashes. The emitter itself, `microcosm-emitter`, is not a +workspace dependency: each machine installs it on its own with +`uv tool install microcosm-emitter`, and the Modal image installs the newest +release when it is built for a plan commit. A running build keeps the +emitter it started; the next build uses whichever release is installed then. +So an emitter release needs no Microcosm change. The socket protocol carries +its own version (`PROTOCOL_VERSION`), every emitter release accepts the +versions interfaces still send, and an emitter that lacks a module the build +asks for starts without it. + +To adopt a new interface release, regenerate `uv.lock`, update +`APPROVED_UV_LOCK_SHA256` in `microcosm.build.us_runtime.worker_identity` to +the new lockfile digest and rerun the tests and wheel checks. ## Migrating an existing workstation -The emitter rejects unversioned databases without modification. Before switching -an existing workstation, upgrade any old unversioned queue using the preceding -Microcosm implementation. Versioned telemetry and graph jobs keep their existing -IDs, eligibility, path and Alembic revision; do not delete a queue to migrate. -No new runtime variable, credential, hosted service or infrastructure is required -by this migration. The previously required hosted authorization/API deployments -remain prerequisites for remote publication. +Install the emitter once with `uv tool install microcosm-emitter` (0.7.0 or +later). It keeps using the existing spool database, +`$XDG_CACHE_HOME/microcosm/telemetry/events.sqlite3`, at the same Alembic +revision the pinned 0.2.1 release used, so queued telemetry and graph jobs +keep their IDs and eligibility; do not delete a queue to migrate. The +Hugging Face module keeps its hand-overs in its own SQLite file beside it, +`events.handovers.sqlite3`, so emitters of every release can share the spool +database on one machine. The emitter rejects unversioned databases without +modification. The emitter's README describes the repair for a machine that +ran an earlier, unreleased build of the hand-over queue. No new credential, +hosted service or infrastructure is required by this migration. diff --git a/docs/uk-staging-operations.md b/docs/uk-staging-operations.md index a985a65aea..c719caf742 100644 --- a/docs/uk-staging-operations.md +++ b/docs/uk-staging-operations.md @@ -60,8 +60,12 @@ still read. Version 3 fixtures add a `blocked` run and a failure that carries its `failure_class`. The implementation separates versioned file serialization from country -configuration. `microcosm.build.staging_storage` owns repository access and -the repeated-upload failure policy used by both version 1 and version 2. +configuration. `microcosm.build.staging_storage` owns the hand-over of run +files to the build's emitter and its repeated-failure policy, used by both +version 1 and version 2, and the repository access the staged dataset uses. +The emitter commits every pending run file of a repository in one commit per +upload interval, with the build's own credential, and reads a run back on +request. `microcosm.build.staging_cli` adds and validates common command-line options from a supplied repository configuration. The UK repository identifier and environment-variable name live in `microcosm.build.uk_runtime.staging`; the @@ -135,11 +139,20 @@ Common options are `--staging-dir`, `--staging-repo-id`, `--staging-run-id`, `--staging-candidate-id`, `--staging-upload-interval-seconds`, and `--staging-read-back`. An empty repository identifier is invalid in remote mode. Authenticated read-back is -valid only in remote mode. Once read-back has passed or failed, its verdict -owns the delivery's `last_error_code`: the refresh upload that follows a -passed read-back is best effort, and if it fails the run keeps its verified -delivery (the miss shows as an upload attempt without a success), while the -remote copy may still show the delivery as it was before read-back. +valid only in remote mode: the emitter commits the run's pending files and +compares the Hub's copy of each with the bytes it committed. Once read-back +has passed or failed, its verdict owns the delivery's `last_error_code`: the +refresh hand-over that follows a passed read-back is best effort, and if the +emitter does not accept it the run keeps its verified delivery (the miss shows +as an upload attempt without a success), while the remote copy may still show +the delivery as it was before read-back. + +A document's delivery counts are the emitter's as of that document's +hand-over: `upload_successes` counts files the emitter committed and +`upload_attempts` the files it attempted to commit plus any it did not +accept. A document never counts the commit that carries it. Three hand-overs +in a row that the emitter does not accept pause the run's hand-overs; the +final state is handed over once more. Version 2 and 3 storage use the fixed repository prefix `runs/`. Individual runs cannot select another prefix, so consumers can enumerate that subtree without @@ -386,9 +399,9 @@ Consumers discover runs by enumerating `runs/*/run_manifest.json`, then derive the latest run from manifest `updated_at` timestamps. Monitor each run's `progress.json` for current status and `events.ndjson` for ordered stage durations. A remote verification run downloads and validates only its own run -manifest and progress document. Upload failures are recorded with counts and -reviewed error codes while local recording continues; unrestricted remote -exception text is not serialized. +manifest and progress document. Hand-over and commit failures are recorded +with counts and reviewed error codes while local recording continues; +unrestricted remote exception text is not serialized. Rollback is configuration-first: use `--staging-local-only` to retain local evidence or `--no-staging` for a deliberate opt-out, disable the GitHub diff --git a/docs/us-modal-stage-runbook.md b/docs/us-modal-stage-runbook.md index 1d33ed5d57..7916717669 100644 --- a/docs/us-modal-stage-runbook.md +++ b/docs/us-modal-stage-runbook.md @@ -66,7 +66,16 @@ release directory onto the runs volume. Publication stays the human step in clone of the plan's commit from GitHub, checks out the plan's branch name, and asserts `HEAD` equals the commit. It then runs `uv sync --all-packages --extra us --frozen` against that tree's own - `uv.lock` into `/opt/venv` and asserts `git status --porcelain` is empty. + `uv.lock` into `/opt/venv`, installs the newest `microcosm-emitter` + release (0.7.0 or later) on its own with `uv tool install` into + `/usr/local/bin`, checks that `microcosm-emitter version` runs, and + asserts `git status --porcelain` is empty. The image sets + `MICROCOSM_EMITTER_COMMAND` to that command, so a build that starts its + emitter finds it; the check reports the version and the receipt's runner + identity records it. An image built for a commit keeps the emitter it was + built with. The tool's environment withholds credentials and sets + `HF_HUB_OFFLINE=1`, so an emitter started there keeps its events and + hand-overs local. A commit that is not on GitHub fails the build. `checkout -B` would put any branch name on any commit, so each container also proves the name before it runs anything: it fetches the plan's branch from the remote From 827679f75c763216b555c71789640cfad2025458 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:50:45 +0400 Subject: [PATCH 14/67] Reword the docstring of the final staging hand-over Co-Authored-By: Claude Opus 5.5 --- packages/microcosm-build/src/microcosm/build/staging_v2.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/staging_v2.py b/packages/microcosm-build/src/microcosm/build/staging_v2.py index 503581ac73..df7074893d 100644 --- a/packages/microcosm-build/src/microcosm/build/staging_v2.py +++ b/packages/microcosm-build/src/microcosm/build/staging_v2.py @@ -1387,8 +1387,8 @@ def _terminal_upload(self) -> None: cannot slow the build. The final state is different: a run whose remote copy stays "running" forever is the last-mile gap the v20 national run met (its final state was delivered by hand), so - completion, failure and a gate block hand it over once more. The - emitter retries its commits itself. + completion, failure and a refusal by the validation checks hand it + over once more. The emitter retries its commits itself. """ if self._hand_over is None: From f2f4567a57a50d9893d73f0628c4c72df4cef523 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:54:10 +0400 Subject: [PATCH 15/67] Test that read-back fails when the final state was not handed over The emitter compares the Hub with the bytes it committed, so after the run's final hand-over was not accepted the Hub can match an older state and the read-back must still fail. This test fails: read-back passes. Co-Authored-By: Claude Opus 5.5 --- .../tests/engine_free/shared/test_staging_v2.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py b/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py index 9df5a15761..e3abc88412 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_staging_v2.py @@ -627,6 +627,21 @@ def test_remote_read_back_failure_is_explicit(tmp_path, answer): assert telemetry.delivery_summary["last_error_code"] == "READ_BACK_FAILED" +def test_read_back_fails_when_the_final_state_was_not_handed_over(tmp_path): + """The Hub can match what the emitter committed and still be stale.""" + + telemetry, emitter = _remote_recorder(tmp_path) + telemetry.stage("input_verification", force_upload=True) + emitter.accept_run_files = False + telemetry.complete() + + with pytest.raises(StagingReadBackError, match="not handed over"): + telemetry.verify_remote() + assert telemetry.delivery_summary["read_back"] == "failed" + assert telemetry.delivery_summary["last_error_code"] == "READ_BACK_FAILED" + assert "read_back_run_files" not in emitter.calls + + def test_remote_read_back_without_an_emitter_fails(tmp_path): telemetry, _ = _remote_recorder(tmp_path, emitter_client=None) telemetry.complete() From 65bd386b37e761ea568e308d6699a56804688137 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 15:55:26 +0400 Subject: [PATCH 16/67] Fail read-back when the final state was not handed over verify_remote now fails, as READ_BACK_FAILED, when the emitter did not accept the run's current files, instead of asking the emitter to compare the Hub with an older committed state. Co-Authored-By: Claude Opus 5.5 --- .../src/microcosm/build/staging_v2.py | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/staging_v2.py b/packages/microcosm-build/src/microcosm/build/staging_v2.py index df7074893d..40942b482b 100644 --- a/packages/microcosm-build/src/microcosm/build/staging_v2.py +++ b/packages/microcosm-build/src/microcosm/build/staging_v2.py @@ -17,7 +17,7 @@ from dataclasses import dataclass from datetime import UTC, datetime from pathlib import Path, PurePosixPath -from typing import Any, Literal +from typing import Any, Literal, NoReturn from jsonschema import Draft202012Validator, FormatChecker @@ -1192,14 +1192,18 @@ def verify_remote(self) -> None: if self._hand_over is None: raise StagingReadBackError("Remote read-back requires remote staging mode.") self._maybe_upload(force=True) + if self._hand_over.last_accepted is not True: + # The emitter compares the Hub with what it committed; without the + # current files that can be an older state of the run. + self._fail_read_back( + "Authenticated staging read-back failed: the run's current " + "files were not handed over to the local emitter." + ) result = self._hand_over.read_back(wait_seconds=self.READ_BACK_WAIT_SECONDS) self._hand_over.receipt() self._record_delivery() if result["status"] != "passed" or self._hand_over.files_committed < 1: - self._delivery["read_back"] = "failed" - self._delivery["last_error_code"] = "READ_BACK_FAILED" - self._persist_bundle() - raise StagingReadBackError(_read_back_failure(result)) + self._fail_read_back(_read_back_failure(result)) self._delivery["read_back"] = "passed" self._delivery["last_error_code"] = None self._persist_bundle() @@ -1210,6 +1214,12 @@ def verify_remote(self) -> None: # then still show the delivery as it was before read-back. self._maybe_upload(force=True) + def _fail_read_back(self, message: str) -> NoReturn: + self._delivery["read_back"] = "failed" + self._delivery["last_error_code"] = "READ_BACK_FAILED" + self._persist_bundle() + raise StagingReadBackError(message) + def _require_running(self, action: str) -> None: if self.status != "running": raise StagingContractError( From 5307bf2814ef17231d1b4efe1d597f94f66065a5 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 17:50:19 +0400 Subject: [PATCH 17/67] Test that builds stop an emitter older than 0.6.0 Emitter 0.6.0 is the first release with the Hugging Face module that takes staging run files and its queue in events.handovers.sqlite3. An older emitter that accepts protocol 1 (0.4.0 to 0.5.1) starts without that module, so the build's staging hand-overs would all fail with only a warning each. Co-Authored-By: Claude Opus 5.5 --- .../shared/test_emitter_adapter.py | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py b/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py index 11dbb8f9c1..f9f7fee8c5 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py @@ -209,6 +209,80 @@ def test_a_missing_emitter_command_leaves_the_build_running( assert list(tmp_path.iterdir()) == [] +def _start_build_emitter(monkeypatch, tmp_path, client): + _record_starts(monkeypatch, client) + monkeypatch.setattr(adapter, "runtime_identity", lambda: {"commit": "synthetic"}) + return START( + adapter.LocalTelemetryEmitter, + run_id="run-one", + country_code="uk", + pipeline="full", + spool_path=tmp_path / "events.sqlite3", + ) + + +@pytest.mark.parametrize( + ("installed_version", "reported"), + [ + # 0.5.x accepts protocol 1 but has no Hugging Face module. + ("0.5.1", "reports version 0.5.1"), + ("0.4.0", "reports version 0.4.0"), + (None, "reports no version"), + ("not-a-version", "reports version not-a-version"), + ], +) +def test_an_emitter_older_than_0_6_0_is_stopped_and_the_build_continues( + monkeypatch, capsys, tmp_path, installed_version, reported +): + client = FakeEmitterClient() + client.emitter_version = installed_version + emitter = _start_build_emitter(monkeypatch, tmp_path, client) + + assert client.closed + assert not emitter.available + warning = capsys.readouterr().err + assert f"The installed microcosm-emitter {reported};" in warning + assert "this build needs 0.6.0 or later" in warning + assert "uv tool install --upgrade 'microcosm-emitter>=0.6.0'" in warning + # Nothing more reaches the stopped emitter, and nothing raises. + emitter.transition_stage("solve") + emitter.complete() + assert client.telemetry_messages == [] + + +@pytest.mark.parametrize("installed_version", ["0.6.0", "0.7.0", "0.10.0", "1.0.0"]) +def test_an_emitter_from_0_6_0_on_starts( + monkeypatch, capsys, tmp_path, installed_version +): + client = FakeEmitterClient() + client.emitter_version = installed_version + emitter = _start_build_emitter(monkeypatch, tmp_path, client) + + assert emitter.available + assert not client.closed + assert "microcosm-emitter" not in capsys.readouterr().err + + +@pytest.mark.parametrize("operation", ["inventory", "publish"]) +def test_a_short_lived_graph_emitter_older_than_0_6_0_is_stopped( + monkeypatch, capsys, tmp_path, operation +): + client = FakeEmitterClient(modules={"orrery"}) + client.emitter_version = "0.5.1" + _record_starts(monkeypatch, client) + inventory = {"version": 1, "publication_id": "independent", "files": []} + + if operation == "inventory": + assert adapter.publication_inventory(tmp_path, {}) is None + else: + receipt = adapter.publish_graph(tmp_path, inventory, wait_seconds=0) + assert receipt["status"] == "failed" + + assert client.closed + assert client.orrery_requests == [] + assert "this build needs 0.6.0 or later" in capsys.readouterr().err + + @pytest.mark.parametrize("failure", ["default_spool_path", "runtime_identity"]) def test_metadata_or_cache_failure_never_starts_an_emitter( monkeypatch, capsys, failure From 9c4eb2a11f5bd8c6913f70c39b9e1c537fff4499 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 17:52:34 +0400 Subject: [PATCH 18/67] Stop an emitter older than 0.6.0 and say how to upgrade it The adapter reads the started emitter's release from its hello answer (EmitterClient.emitter_version). Below 0.6.0, the first release with the Hugging Face module and its events.handovers.sqlite3 queue, it closes that emitter and prints the installed and required versions with the upgrade command; the build continues as it does without an emitter. The same check covers the short-lived Orrery emitter. 0.7.0 added only release publication, which builds do not use, so the Modal comment that called 0.7.0 the first release with the Hugging Face module is corrected. Co-Authored-By: Claude Opus 5.5 --- README.md | 5 +- changelog.d/h2a-emitter-interface.changed.md | 2 +- docs/orrery-publication.md | 5 +- .../src/microcosm/build/telemetry_emitter.py | 62 +++++++++++++++++-- tools/modal_us_stage_plan.py | 6 +- 5 files changed, 70 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 7183e1aef6..a74f9d6fd8 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,10 @@ The build finds the `microcosm-emitter` command through environment variables and user, so it uses the build's Hugging Face credential (`HF_TOKEN`, then `HUGGINGFACE_TOKEN`, then the `hf auth login` token). Without the command the build continues with no hosted telemetry and -no remote staging. Microcosm supplies build metadata, graph files and staging +no remote staging. The build reads the emitter's version when it starts and +stops one older than 0.6.0, the first release that takes staging run files; +it prints the installed and required versions and the upgrade command, and +continues as it does without the command. Microcosm supplies build metadata, graph files and staging run files; the emitter owns authentication, durable queues and delivery. The telemetry module reports live progress to the hosted collector when the operator's Hugging Face login is accepted; otherwise it retains the events diff --git a/changelog.d/h2a-emitter-interface.changed.md b/changelog.d/h2a-emitter-interface.changed.md index db476e3c17..ca902de1b2 100644 --- a/changelog.d/h2a-emitter-interface.changed.md +++ b/changelog.d/h2a-emitter-interface.changed.md @@ -1 +1 @@ -Builds start the separately installed `microcosm-emitter` command through `microcosm-emitter-interface` (`>=0.7.0,<1`), which replaces the exact `microcosm-emitter==0.2.1` dependency, so an emitter release needs no Microcosm change: install the emitter once per machine with `uv tool install microcosm-emitter`, and the Modal image installs the newest release when it is built. The emitter runs as the build's child process and inherits its environment, so it uses the build's Hugging Face credential. Telemetry events, Orrery graph files and now the version 1 and version 2 staging run files go through it: the writers hand their files over instead of uploading each with `HfApi`, the emitter commits a repository's pending files in one commit per upload interval and merges the version 1 runs index, read-back is the emitter's comparison of the Hub's copy with the bytes it committed, and the delivery counts are the emitter's as of each document's hand-over. Without the command a build continues with no hosted telemetry and no remote staging. The Hugging Face module keeps its hand-overs in `events.handovers.sqlite3` beside the existing spool database, which stays at the revision 0.2.1 used. Staged dataset bundles and releases still upload directly. `uv.lock` drops `microcosm-emitter`, `alembic`, `mako` and `sqlalchemy`, and `APPROVED_UV_LOCK_SHA256` is re-pinned. +Builds start the separately installed `microcosm-emitter` command through `microcosm-emitter-interface` (`>=0.7.0,<1`), which replaces the exact `microcosm-emitter==0.2.1` dependency, so an emitter release needs no Microcosm change: install the emitter once per machine with `uv tool install microcosm-emitter`, and the Modal image installs the newest release when it is built. The emitter runs as the build's child process and inherits its environment, so it uses the build's Hugging Face credential. Telemetry events, Orrery graph files and now the version 1 and version 2 staging run files go through it: the writers hand their files over instead of uploading each with `HfApi`, the emitter commits a repository's pending files in one commit per upload interval and merges the version 1 runs index, read-back is the emitter's comparison of the Hub's copy with the bytes it committed, and the delivery counts are the emitter's as of each document's hand-over. Without the command a build continues with no hosted telemetry and no remote staging, and it does the same with an emitter older than 0.6.0, the first release with the Hugging Face module: it reads the version from the emitter's `hello` answer, stops that emitter, and prints the installed and required versions with the upgrade command. The Hugging Face module keeps its hand-overs in `events.handovers.sqlite3` beside the existing spool database, which stays at the revision 0.2.1 used. Staged dataset bundles and releases still upload directly. `uv.lock` drops `microcosm-emitter`, `alembic`, `mako` and `sqlalchemy`, and `APPROVED_UV_LOCK_SHA256` is re-pinned. diff --git a/docs/orrery-publication.md b/docs/orrery-publication.md index fc9d8f5370..b763d31081 100644 --- a/docs/orrery-publication.md +++ b/docs/orrery-publication.md @@ -125,8 +125,9 @@ the new lockfile digest and rerun the tests and wheel checks. ## Migrating an existing workstation -Install the emitter once with `uv tool install microcosm-emitter` (0.7.0 or -later). It keeps using the existing spool database, +Install the emitter once with `uv tool install microcosm-emitter` (0.6.0 or +later; a build stops an older emitter, says how to upgrade it and continues +without it). It keeps using the existing spool database, `$XDG_CACHE_HOME/microcosm/telemetry/events.sqlite3`, at the same Alembic revision the pinned 0.2.1 release used, so queued telemetry and graph jobs keep their IDs and eligibility; do not delete a queue to migrate. The diff --git a/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py b/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py index f7ea09265b..8debec8c17 100644 --- a/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py +++ b/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py @@ -11,12 +11,17 @@ user, so it finds the build's Hugging Face credential (``HF_TOKEN``, then ``HUGGINGFACE_TOKEN``, then the token saved by ``hf auth login``). Its module settings travel on its standard input, never in environment variables or -process arguments. No call raises into the build: a missing, slow or -refusing emitter leaves the build running without it. +process arguments. No call raises into the build: a missing, slow, +refusing or outdated emitter leaves the build running without it. + +The adapter stops an emitter older than ``MINIMUM_EMITTER_VERSION`` as soon +as it has started, after reading its version from the emitter's ``hello`` +answer (``EmitterClient.emitter_version``). """ from __future__ import annotations +import re import sys from collections.abc import Mapping, Sequence from pathlib import Path @@ -48,6 +53,7 @@ __all__ = [ "DEFAULT_HEARTBEAT_SECONDS", + "MINIMUM_EMITTER_VERSION", "EmitterClient", "LocalTelemetryEmitter", "TelemetryRun", @@ -62,6 +68,54 @@ #: The emitter took about four seconds to become ready on an M1 Max; this is #: only a ceiling on the wait. STARTUP_TIMEOUT_SECONDS = 15.0 +#: The first emitter release with everything a build hands over: the Hugging +#: Face module (``stage_run_files``, ``run_files_receipt`` and +#: ``read_back_run_files``) and its queue in ``events.handovers.sqlite3``. +#: Releases 0.4.0 to 0.5.1 accept the same protocol version but start without +#: that module; 0.7.0 added only release publication, which builds do not use. +MINIMUM_EMITTER_VERSION = "0.6.0" +OUTDATED_EMITTER_WARNING = ( + "The installed microcosm-emitter {reported}; this build needs {required} " + "or later, so it stopped that emitter and will continue without it. " + "Upgrade it with `uv tool install --upgrade 'microcosm-emitter>={required}'`, " + "or point MICROCOSM_EMITTER_COMMAND at a newer one." +) +_RELEASE_NUMBER = re.compile(r"(\d+)\.(\d+)\.(\d+)") +_MINIMUM_RELEASE = tuple(int(part) for part in MINIMUM_EMITTER_VERSION.split(".")) + + +def _release_number(version: object) -> tuple[int, ...] | None: + """``(major, minor, patch)`` of a release version, or None if it has none.""" + found = _RELEASE_NUMBER.match(version) if isinstance(version, str) else None + return None if found is None else tuple(int(part) for part in found.groups()) + + +def _start_emitter(**options: Any) -> EmitterClient: + """Start the installed emitter; stop it again if it is too old. + + ``EmitterClient.start`` returns only after the emitter's ``hello`` answer, + which names its release. An emitter that did not start is returned as it + is; an outdated one is closed, so every call reports it unavailable. + """ + client = EmitterClient.start(**options) + if not client.available: + return client + installed = _release_number(client.emitter_version) + if installed is not None and installed >= _MINIMUM_RELEASE: + return client + reported = ( + "reports no version" + if client.emitter_version is None + else f"reports version {client.emitter_version}" + ) + print( + OUTDATED_EMITTER_WARNING.format( + reported=reported, required=MINIMUM_EMITTER_VERSION + ), + file=sys.stderr, + ) + client.close() + return client class LocalTelemetryEmitter: @@ -124,7 +178,7 @@ def start( return cls( run=run, client=None, close_service_on_finish=close_service_on_finish ) - client = EmitterClient.start( + client = _start_emitter( telemetry=TelemetrySettings( run=run, identity=identity, @@ -296,7 +350,7 @@ def publish_graph( def _orrery_emitter() -> EmitterClient: """A short-lived emitter that runs only the Orrery module.""" - return EmitterClient.start( + return _start_emitter( orrery=OrrerySettings(), startup_timeout=STARTUP_TIMEOUT_SECONDS ) diff --git a/tools/modal_us_stage_plan.py b/tools/modal_us_stage_plan.py index 0c135b67eb..5765769d11 100644 --- a/tools/modal_us_stage_plan.py +++ b/tools/modal_us_stage_plan.py @@ -76,8 +76,10 @@ # child process (microcosm-emitter-interface); uv.lock pins only the # interface. The image installs the newest emitter release when it is built # for a plan commit, outside the synced environment; an image built for one -# commit keeps the emitter it was built with. 0.7.0 is the first release with -# the Hugging Face hand-over module. The stage's runner records the version. +# commit keeps the emitter it was built with. A build stops an emitter older +# than 0.6.0, the first release with the Hugging Face hand-over module +# (microcosm.build.telemetry_emitter.MINIMUM_EMITTER_VERSION). The stage's +# runner records the version. IMAGE_EMITTER_REQUIREMENT = "microcosm-emitter>=0.7.0" IMAGE_EMITTER_BIN_DIR = "/usr/local/bin" IMAGE_EMITTER_COMMAND = f"{IMAGE_EMITTER_BIN_DIR}/microcosm-emitter" From f79c6c0170885c8f6af2c2f16759f088ec668c26 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 17:53:25 +0400 Subject: [PATCH 19/67] Test that Modal stage tests never run an installed emitter tools/modal_us_stage._emitter_version() runs the image's emitter path, /usr/local/bin/microcosm-emitter, so a test that reaches _runner_identity() or check_stage() ran whatever command a machine has there. The test puts a stand-in command at that path and checks that it never runs. Co-Authored-By: Claude Opus 5.5 --- .../us/test_us_modal_stage_plan_tool.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py b/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py index 813c0ea4e0..c7bbde7bb2 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py @@ -388,6 +388,23 @@ def test_image_installs_the_emitter_command_on_its_own(app) -> None: assert "MICROCOSM_EMITTER_COMMAND" not in removed +def test_the_app_never_runs_an_emitter_installed_where_the_image_puts_it( + app, monkeypatch, tmp_path: Path +) -> None: + """A machine with a command at the image's emitter path never runs it here.""" + + ran = tmp_path / "emitter-ran" + command = tmp_path / "microcosm-emitter" + command.write_text(f"#!/bin/sh\ntouch '{ran}'\necho '{{}}'\n") + command.chmod(0o755) + monkeypatch.setattr(plan_lib, "IMAGE_EMITTER_COMMAND", str(command)) + + recorded = {"emitter_version": "0.7.0", "protocol_versions": [1]} + assert app._emitter_version() == recorded + assert app._runner_identity()["microcosm_emitter"] == recorded + assert not ran.exists() + + # --------------------------------------------------------------------------- # # Hashing, mirroring, receipts # # --------------------------------------------------------------------------- # From 6a694068d3d92fb85983e0b866eefc985572a061 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 17:55:11 +0400 Subject: [PATCH 20/67] Answer the emitter version probe in Modal stage tests load_app() now replaces tools/modal_us_stage._emitter_version() with the recorded answer of the image's emitter, so tests that reach _runner_identity() or check_stage() never run a command found at /usr/local/bin/microcosm-emitter on the test machine. Co-Authored-By: Claude Opus 5.5 --- .../microcosm_build/us_modal_stage_plan_tool.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test_support/microcosm_build/us_modal_stage_plan_tool.py b/test_support/microcosm_build/us_modal_stage_plan_tool.py index e3ac1f04ab..791e1c5c2a 100644 --- a/test_support/microcosm_build/us_modal_stage_plan_tool.py +++ b/test_support/microcosm_build/us_modal_stage_plan_tool.py @@ -34,6 +34,9 @@ def _load(): plan_lib = _load() +#: What the image's emitter answers to ``microcosm-emitter version``. Tests +#: get this answer instead of running a command at the image's emitter path. +RECORDED_EMITTER_VERSION = {"emitter_version": "0.7.0", "protocol_versions": [1]} def load_app(monkeypatch): @@ -43,7 +46,9 @@ def load_app(monkeypatch): image and functions without reading a plan or contacting Modal; volume calls (commit, reload) are recorded, not performed. Each ``@app.function`` keeps its function and records its Modal options as - ``modal_options``. + ``modal_options``. ``_emitter_version`` answers + ``RECORDED_EMITTER_VERSION``, so no test runs an emitter installed at the + image's path (``/usr/local/bin/microcosm-emitter``) on the test machine. """ from unittest.mock import MagicMock @@ -65,6 +70,9 @@ def load_app(monkeypatch): module = importlib.util.module_from_spec(spec) assert spec.loader is not None spec.loader.exec_module(module) + monkeypatch.setattr( + module, "_emitter_version", lambda: copy.deepcopy(RECORDED_EMITTER_VERSION) + ) return module From d3ac0f34eb1fe6b07055cbdd6b94f27253f36532 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 18:58:22 +0400 Subject: [PATCH 21/67] Test that builds never start an emitter older than 0.6.0 An emitter's telemetry module records the run's start when the emitter starts, before it can answer hello (every release from 0.4.0 to 0.7.0 initialises its modules before it opens its socket). An emitter the adapter starts and then stops after reading its version from hello has already recorded that start; with a credential, it delivers it to the collector when it is closed, so the build monitor shows a run that started and never finished. The tests name a stand-in command that answers `microcosm-emitter version` and check that an older release is never started, that a release from 0.6.0 on is started from the same command whose version was read, and that the short-lived Orrery emitter follows the same rule. Every test in the file now names a missing command by default, so none finds an emitter on PATH. Co-Authored-By: Claude Opus 5.5 --- .../shared/test_emitter_adapter.py | 109 ++++++++++++++---- 1 file changed, 85 insertions(+), 24 deletions(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py b/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py index f9f7fee8c5..2ed49c09bc 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_emitter_adapter.py @@ -2,9 +2,13 @@ The adapter starts the separately installed ``microcosm-emitter`` command through the interface's ``EmitterClient``; these tests replace that client -with an in-memory one, or let the interface fail to find the command. +with an in-memory one, or let the interface fail to find the command. A +stand-in command answers ``microcosm-emitter version`` where a test needs an +installed release; no test runs a real emitter. """ +import json + import pytest from microcosm_emitter_interface import ( EmitterClient, @@ -23,6 +27,13 @@ INTERFACE_START_EMITTER = interface_launcher.start_emitter +@pytest.fixture(autouse=True) +def no_installed_emitter_command(monkeypatch, tmp_path_factory): + """Name a missing command, so no test finds an emitter installed on PATH.""" + missing = tmp_path_factory.mktemp("no-emitter") / "microcosm-emitter" + monkeypatch.setenv("MICROCOSM_EMITTER_COMMAND", str(missing)) + + def _record_starts(monkeypatch, client=None): """Replace ``EmitterClient.start``; return the options of every call.""" starts = [] @@ -209,8 +220,41 @@ def test_a_missing_emitter_command_leaves_the_build_running( assert list(tmp_path.iterdir()) == [] -def _start_build_emitter(monkeypatch, tmp_path, client): - _record_starts(monkeypatch, client) +def _version_answer(emitter_version): + """What ``microcosm-emitter version`` prints, for one installed release.""" + description = {"protocol_versions": [1]} + if emitter_version is not None: + description["emitter_version"] = emitter_version + return json.dumps(description) + + +def _install_emitter_command(monkeypatch, directory, version_answer): + """Name a stand-in ``microcosm-emitter`` command in MICROCOSM_EMITTER_COMMAND. + + It prints ``version_answer`` for ``microcosm-emitter version``. Started + any other way, as the emitter itself would be, it creates the returned + file and exits. + """ + directory.mkdir() + answer = directory / "version-answer" + answer.write_text(version_answer) + started = directory / "emitter-started" + command = directory / "microcosm-emitter" + command.write_text( + "#!/bin/sh\n" + 'if [ "$1" = version ]; then\n' + f" cat '{answer}'\n" + " exit 0\n" + "fi\n" + f"touch '{started}'\n" + "exit 1\n" + ) + command.chmod(0o755) + monkeypatch.setenv("MICROCOSM_EMITTER_COMMAND", str(command)) + return command, started + + +def _start_build_emitter(monkeypatch, tmp_path): monkeypatch.setattr(adapter, "runtime_identity", lambda: {"commit": "synthetic"}) return START( adapter.LocalTelemetryEmitter, @@ -222,32 +266,41 @@ def _start_build_emitter(monkeypatch, tmp_path, client): @pytest.mark.parametrize( - ("installed_version", "reported"), + ("version_answer", "reported"), [ - # 0.5.x accepts protocol 1 but has no Hugging Face module. - ("0.5.1", "reports version 0.5.1"), - ("0.4.0", "reports version 0.4.0"), - (None, "reports no version"), - ("not-a-version", "reports version not-a-version"), + # 0.4.0 to 0.5.1 accept protocol 1 but have no Hugging Face module. + (_version_answer("0.5.1"), "reports version 0.5.1"), + (_version_answer("0.4.0"), "reports version 0.4.0"), + (_version_answer(None), "reports no version"), + (_version_answer("not-a-version"), "reports version not-a-version"), + ("not JSON", "reports no version"), ], + ids=["0.5.1", "0.4.0", "no-version", "not-a-version", "not-json"], ) -def test_an_emitter_older_than_0_6_0_is_stopped_and_the_build_continues( - monkeypatch, capsys, tmp_path, installed_version, reported +def test_an_emitter_older_than_0_6_0_is_never_started_and_the_build_continues( + monkeypatch, capsys, tmp_path, version_answer, reported ): + # The emitter's telemetry module records the run's start as soon as the + # emitter starts, before it can answer ``hello``. An emitter started only + # to be stopped again would leave the collector a run that started and + # never finished, so the version is read before anything starts. client = FakeEmitterClient() - client.emitter_version = installed_version - emitter = _start_build_emitter(monkeypatch, tmp_path, client) + starts = _record_starts(monkeypatch, client) + _, started = _install_emitter_command(monkeypatch, tmp_path / "bin", version_answer) + emitter = _start_build_emitter(monkeypatch, tmp_path) - assert client.closed + assert starts == [] + assert not started.exists() assert not emitter.available warning = capsys.readouterr().err assert f"The installed microcosm-emitter {reported};" in warning assert "this build needs 0.6.0 or later" in warning assert "uv tool install --upgrade 'microcosm-emitter>=0.6.0'" in warning - # Nothing more reaches the stopped emitter, and nothing raises. + # Nothing reaches an emitter, and nothing raises. emitter.transition_stage("solve") emitter.complete() - assert client.telemetry_messages == [] + emitter.close() + assert client.calls == [] @pytest.mark.parametrize("installed_version", ["0.6.0", "0.7.0", "0.10.0", "1.0.0"]) @@ -255,21 +308,28 @@ def test_an_emitter_from_0_6_0_on_starts( monkeypatch, capsys, tmp_path, installed_version ): client = FakeEmitterClient() - client.emitter_version = installed_version - emitter = _start_build_emitter(monkeypatch, tmp_path, client) + starts = _record_starts(monkeypatch, client) + command, started = _install_emitter_command( + monkeypatch, tmp_path / "bin", _version_answer(installed_version) + ) + emitter = _start_build_emitter(monkeypatch, tmp_path) + # The command whose version was read is the one started. + assert [options["command"] for options in starts] == [str(command)] + assert not started.exists() assert emitter.available - assert not client.closed assert "microcosm-emitter" not in capsys.readouterr().err @pytest.mark.parametrize("operation", ["inventory", "publish"]) -def test_a_short_lived_graph_emitter_older_than_0_6_0_is_stopped( +def test_a_short_lived_graph_emitter_older_than_0_6_0_is_never_started( monkeypatch, capsys, tmp_path, operation ): client = FakeEmitterClient(modules={"orrery"}) - client.emitter_version = "0.5.1" - _record_starts(monkeypatch, client) + starts = _record_starts(monkeypatch, client) + _, started = _install_emitter_command( + monkeypatch, tmp_path / "bin", _version_answer("0.5.1") + ) inventory = {"version": 1, "publication_id": "independent", "files": []} if operation == "inventory": @@ -278,8 +338,9 @@ def test_a_short_lived_graph_emitter_older_than_0_6_0_is_stopped( receipt = adapter.publish_graph(tmp_path, inventory, wait_seconds=0) assert receipt["status"] == "failed" - assert client.closed - assert client.orrery_requests == [] + assert starts == [] + assert not started.exists() + assert client.calls == [] assert "this build needs 0.6.0 or later" in capsys.readouterr().err From 9b8e42ef96fa171db7add9b337dc8b5fc0da6f70 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 19:01:40 +0400 Subject: [PATCH 22/67] Read the emitter's version before starting it The adapter read the release from the started emitter's hello answer and closed an emitter older than 0.6.0. By then that emitter had already registered the run and recorded its start: its telemetry module does both when it initialises, before the host opens its socket. Closing it delivered that start to the collector with no later event, so the build monitor showed the run as running for six hours (no heartbeat ever arrived) and then as gone silent, never as failed. The adapter now runs `microcosm-emitter version` (every release since 0.4.0, the first with the command), which prints the same description as hello and starts no module, and starts the same command only from 0.6.0 on. An older emitter, or one with no usable answer, is never started; the warning says so and the build continues as it does without the command. A missing command is still reported by the interface. README, the Orrery publication notes, the Modal image comment and the changelog fragment say the build does not start an older emitter. Co-Authored-By: Claude Opus 5.5 --- README.md | 9 ++- changelog.d/h2a-emitter-interface.changed.md | 2 +- docs/orrery-publication.md | 4 +- .../src/microcosm/build/telemetry_emitter.py | 73 +++++++++++++------ tools/modal_us_stage_plan.py | 8 +- 5 files changed, 64 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index a74f9d6fd8..d8b49ac01f 100644 --- a/README.md +++ b/README.md @@ -68,10 +68,11 @@ The build finds the `microcosm-emitter` command through environment variables and user, so it uses the build's Hugging Face credential (`HF_TOKEN`, then `HUGGINGFACE_TOKEN`, then the `hf auth login` token). Without the command the build continues with no hosted telemetry and -no remote staging. The build reads the emitter's version when it starts and -stops one older than 0.6.0, the first release that takes staging run files; -it prints the installed and required versions and the upgrade command, and -continues as it does without the command. Microcosm supplies build metadata, graph files and staging +no remote staging. Before it starts the emitter, the build reads its +version from `microcosm-emitter version` and does not start one older than +0.6.0, the first release that takes staging run files; it prints the +installed and required versions and the upgrade command, and continues as +it does without the command. Microcosm supplies build metadata, graph files and staging run files; the emitter owns authentication, durable queues and delivery. The telemetry module reports live progress to the hosted collector when the operator's Hugging Face login is accepted; otherwise it retains the events diff --git a/changelog.d/h2a-emitter-interface.changed.md b/changelog.d/h2a-emitter-interface.changed.md index ca902de1b2..356d994168 100644 --- a/changelog.d/h2a-emitter-interface.changed.md +++ b/changelog.d/h2a-emitter-interface.changed.md @@ -1 +1 @@ -Builds start the separately installed `microcosm-emitter` command through `microcosm-emitter-interface` (`>=0.7.0,<1`), which replaces the exact `microcosm-emitter==0.2.1` dependency, so an emitter release needs no Microcosm change: install the emitter once per machine with `uv tool install microcosm-emitter`, and the Modal image installs the newest release when it is built. The emitter runs as the build's child process and inherits its environment, so it uses the build's Hugging Face credential. Telemetry events, Orrery graph files and now the version 1 and version 2 staging run files go through it: the writers hand their files over instead of uploading each with `HfApi`, the emitter commits a repository's pending files in one commit per upload interval and merges the version 1 runs index, read-back is the emitter's comparison of the Hub's copy with the bytes it committed, and the delivery counts are the emitter's as of each document's hand-over. Without the command a build continues with no hosted telemetry and no remote staging, and it does the same with an emitter older than 0.6.0, the first release with the Hugging Face module: it reads the version from the emitter's `hello` answer, stops that emitter, and prints the installed and required versions with the upgrade command. The Hugging Face module keeps its hand-overs in `events.handovers.sqlite3` beside the existing spool database, which stays at the revision 0.2.1 used. Staged dataset bundles and releases still upload directly. `uv.lock` drops `microcosm-emitter`, `alembic`, `mako` and `sqlalchemy`, and `APPROVED_UV_LOCK_SHA256` is re-pinned. +Builds start the separately installed `microcosm-emitter` command through `microcosm-emitter-interface` (`>=0.7.0,<1`), which replaces the exact `microcosm-emitter==0.2.1` dependency, so an emitter release needs no Microcosm change: install the emitter once per machine with `uv tool install microcosm-emitter`, and the Modal image installs the newest release when it is built. The emitter runs as the build's child process and inherits its environment, so it uses the build's Hugging Face credential. Telemetry events, Orrery graph files and now the version 1 and version 2 staging run files go through it: the writers hand their files over instead of uploading each with `HfApi`, the emitter commits a repository's pending files in one commit per upload interval and merges the version 1 runs index, read-back is the emitter's comparison of the Hub's copy with the bytes it committed, and the delivery counts are the emitter's as of each document's hand-over. Without the command a build continues with no hosted telemetry and no remote staging, and it does the same with an emitter older than 0.6.0, the first release with the Hugging Face module: it reads the version from `microcosm-emitter version` before starting the emitter, does not start an older one (which would record the run's start and never its end), and prints the installed and required versions with the upgrade command. The Hugging Face module keeps its hand-overs in `events.handovers.sqlite3` beside the existing spool database, which stays at the revision 0.2.1 used. Staged dataset bundles and releases still upload directly. `uv.lock` drops `microcosm-emitter`, `alembic`, `mako` and `sqlalchemy`, and `APPROVED_UV_LOCK_SHA256` is re-pinned. diff --git a/docs/orrery-publication.md b/docs/orrery-publication.md index b763d31081..b06b154e41 100644 --- a/docs/orrery-publication.md +++ b/docs/orrery-publication.md @@ -126,8 +126,8 @@ the new lockfile digest and rerun the tests and wheel checks. ## Migrating an existing workstation Install the emitter once with `uv tool install microcosm-emitter` (0.6.0 or -later; a build stops an older emitter, says how to upgrade it and continues -without it). It keeps using the existing spool database, +later; a build does not start an older emitter, says how to upgrade it and +continues without it). It keeps using the existing spool database, `$XDG_CACHE_HOME/microcosm/telemetry/events.sqlite3`, at the same Alembic revision the pinned 0.2.1 release used, so queued telemetry and graph jobs keep their IDs and eligibility; do not delete a queue to migrate. The diff --git a/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py b/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py index 8debec8c17..e40358a456 100644 --- a/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py +++ b/packages/microcosm-build/src/microcosm/build/telemetry_emitter.py @@ -14,14 +14,17 @@ process arguments. No call raises into the build: a missing, slow, refusing or outdated emitter leaves the build running without it. -The adapter stops an emitter older than ``MINIMUM_EMITTER_VERSION`` as soon -as it has started, after reading its version from the emitter's ``hello`` -answer (``EmitterClient.emitter_version``). +The adapter never starts an emitter older than ``MINIMUM_EMITTER_VERSION``. +It reads the version from ``microcosm-emitter version`` first, because the +emitter's telemetry module records the run's start as soon as the emitter +starts, before its ``hello`` answer can name its release. """ from __future__ import annotations +import json import re +import subprocess import sys from collections.abc import Mapping, Sequence from pathlib import Path @@ -35,6 +38,7 @@ TelemetrySettings, default_spool_path, ) +from microcosm_emitter_interface.launcher import resolve_command from microcosm_emitter_interface.orrery import ( PublicationFileRole, PublicationInventory, @@ -76,7 +80,7 @@ MINIMUM_EMITTER_VERSION = "0.6.0" OUTDATED_EMITTER_WARNING = ( "The installed microcosm-emitter {reported}; this build needs {required} " - "or later, so it stopped that emitter and will continue without it. " + "or later, so it did not start that emitter and will continue without it. " "Upgrade it with `uv tool install --upgrade 'microcosm-emitter>={required}'`, " "or point MICROCOSM_EMITTER_COMMAND at a newer one." ) @@ -90,32 +94,59 @@ def _release_number(version: object) -> tuple[int, ...] | None: return None if found is None else tuple(int(part) for part in found.groups()) -def _start_emitter(**options: Any) -> EmitterClient: - """Start the installed emitter; stop it again if it is too old. +def _installed_emitter_version(command: str, timeout: float) -> str | None: + """The release ``command version`` reports, or None without a usable answer. - ``EmitterClient.start`` returns only after the emitter's ``hello`` answer, - which names its release. An emitter that did not start is returned as it - is; an outdated one is closed, so every call reports it unavailable. + ``microcosm-emitter version`` (every release since 0.4.0, the first with + the command) prints the same description as the emitter's ``hello`` + answer, and starts none of its modules. """ - client = EmitterClient.start(**options) - if not client.available: - return client - installed = _release_number(client.emitter_version) - if installed is not None and installed >= _MINIMUM_RELEASE: - return client - reported = ( - "reports no version" - if client.emitter_version is None - else f"reports version {client.emitter_version}" + try: + answer = subprocess.run( + [command, "version"], + stdin=subprocess.DEVNULL, + capture_output=True, + text=True, + timeout=timeout, + check=False, + ) + description = json.loads(answer.stdout) if answer.returncode == 0 else None + except Exception: + return None + version = ( + description.get("emitter_version") if isinstance(description, dict) else None ) + return version if isinstance(version, str) else None + + +def _start_emitter(**options: Any) -> EmitterClient: + """Start the installed emitter, unless it is older than the minimum. + + The emitter's telemetry module records the run's start as soon as the + emitter starts, before ``hello`` can name its release, so the release is + read from ``microcosm-emitter version`` first. An emitter stopped after + starting would leave the collector a run that started and never + finished. An outdated emitter is never started: the client returned is + unavailable, so every call reports that. A missing command is left to + ``EmitterClient.start``, which reports it. + """ + try: + command = resolve_command() + except Exception: + return EmitterClient.start(**options) + timeout = options.get("startup_timeout", STARTUP_TIMEOUT_SECONDS) + version = _installed_emitter_version(command, timeout) + installed = _release_number(version) + if installed is not None and installed >= _MINIMUM_RELEASE: + return EmitterClient.start(command=command, **options) + reported = "reports no version" if version is None else f"reports version {version}" print( OUTDATED_EMITTER_WARNING.format( reported=reported, required=MINIMUM_EMITTER_VERSION ), file=sys.stderr, ) - client.close() - return client + return EmitterClient() class LocalTelemetryEmitter: diff --git a/tools/modal_us_stage_plan.py b/tools/modal_us_stage_plan.py index 5765769d11..61536d823d 100644 --- a/tools/modal_us_stage_plan.py +++ b/tools/modal_us_stage_plan.py @@ -76,10 +76,10 @@ # child process (microcosm-emitter-interface); uv.lock pins only the # interface. The image installs the newest emitter release when it is built # for a plan commit, outside the synced environment; an image built for one -# commit keeps the emitter it was built with. A build stops an emitter older -# than 0.6.0, the first release with the Hugging Face hand-over module -# (microcosm.build.telemetry_emitter.MINIMUM_EMITTER_VERSION). The stage's -# runner records the version. +# commit keeps the emitter it was built with. A build does not start an +# emitter older than 0.6.0, the first release with the Hugging Face hand-over +# module (microcosm.build.telemetry_emitter.MINIMUM_EMITTER_VERSION). The +# stage's runner records the version. IMAGE_EMITTER_REQUIREMENT = "microcosm-emitter>=0.7.0" IMAGE_EMITTER_BIN_DIR = "/usr/local/bin" IMAGE_EMITTER_COMMAND = f"{IMAGE_EMITTER_BIN_DIR}/microcosm-emitter" From db4a0fec74d08d1d27ba7775553cabbfc2d7eb60 Mon Sep 17 00:00:00 2001 From: Anthony Volk <14987227+anth-volk@users.noreply.github.com> Date: Tue, 27 Oct 2026 19:19:11 +0400 Subject: [PATCH 23/67] Keep the Modal probe test away from the image clone's path test_the_app_never_runs_an_emitter_installed_where_the_image_puts_it calls _runner_identity(), which also checks for /root/microcosm/uv.lock, the image clone's lock file. On a GitHub runner /root is unreadable, and Python 3.13's Path.exists() raises PermissionError there, so engine-free (3.13) failed on 6a694068d and on 9b8e42ef9 with that error (1 failed, 5923 passed). It passes on macOS, which has no /root, and on Python 3.14, whose Path.exists() returns False. The test now points IMAGE_REPO_ROOT at an empty folder under its temporary directory, as the other tests that reach _runner_identity() do. Co-Authored-By: Claude Opus 5.5 --- .../tests/engine_free/us/test_us_modal_stage_plan_tool.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py b/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py index c7bbde7bb2..a89dd9e91b 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_modal_stage_plan_tool.py @@ -398,6 +398,10 @@ def test_the_app_never_runs_an_emitter_installed_where_the_image_puts_it( command.write_text(f"#!/bin/sh\ntouch '{ran}'\necho '{{}}'\n") command.chmod(0o755) monkeypatch.setattr(plan_lib, "IMAGE_EMITTER_COMMAND", str(command)) + # _runner_identity() also hashes the image clone's uv.lock. The image's + # /root/microcosm is unreadable on a CI runner, where Python 3.13's + # Path.exists() raises PermissionError, so point it at an empty folder. + monkeypatch.setattr(plan_lib, "IMAGE_REPO_ROOT", str(tmp_path / "repo")) recorded = {"emitter_version": "0.7.0", "protocol_versions": [1]} assert app._emitter_version() == recorded From 667fe532ac3144cf742e371e0f9675d554219326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 11:17:56 +0000 Subject: [PATCH 24/67] Rebase SPI donor savings to SPI's 2023-24 bands, then the OBR path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The SPI income stage now moves the 2022-23 tape's interest and other income to HMRC's published 2023-24 Table 3.7 amounts band by band, with the tape banded by its own total income, before any draw. The OBR's savings income growth then carries both columns to the frame's year, the path the Table 3.7 band targets take. Before, each column moved by its engine index from 2022 to 2024: other income by GDP per head (x1.09), interest by ONS household interest (x2.27). SPI's own amounts grew x1.65 and x2.69 in the single year to 2023-24. The frame carried about 70 percent of the savings rows at design weights, and the solve met them by stretching the few households that carry them. On the tape, the £1m-and-over band's other income outweighs its interest, as in the published table; the two indices had flipped that split. - uk/hmrc_spi_table_3_7_savings_rows.json vendors the 26 published rows from the feed pin, declared in the vendoring register and the country package. - spi_income.rebase_spi_donor_savings scales the prepared tape. A band the tape carries none of is left as it is and named in the receipt. The forest and the band-donor resample both read the rebased tape. - _spi_income_uprating_factors grows the two columns from 2023-24 on hmrc_uprating.uk_obr_savings_income_level. Both columns now run on the projection's GDP per head from the frame's year on (SPI_HISTORY_INDEX_DIFFERS_FROM_PROJECTION). - Tests cover the rebase, the published rows, the OBR factor and the stage wiring, and the engine lockstep tests are updated. Co-Authored-By: Claude Opus 5.5 --- .../1418-spi-donor-savings-rebase.changed.md | 1 + docs/uk-income-anchors-280.md | 11 + .../microcosm/build/uk/country_package.json | 5 + .../uk/hmrc_spi_table_3_7_savings_rows.json | 1217 +++++++++++++++++ .../uk/ledger_fact_vendor_selections.json | 27 + .../build/uk_runtime/hmrc_uprating.py | 41 + .../microcosm/build/uk_runtime/spi_income.py | 172 +++ .../tests/engine/uk/test_uk_hmrc_uprating.py | 12 +- .../tests/engine/uk/test_uk_spi_income.py | 39 +- .../engine_free/shared/test_country_spec.py | 2 + .../uk/test_uk_spi_savings_rebase.py | 185 +++ 11 files changed, 1701 insertions(+), 11 deletions(-) create mode 100644 changelog.d/1418-spi-donor-savings-rebase.changed.md create mode 100644 packages/microcosm-build/src/microcosm/build/uk/hmrc_spi_table_3_7_savings_rows.json create mode 100644 packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py diff --git a/changelog.d/1418-spi-donor-savings-rebase.changed.md b/changelog.d/1418-spi-donor-savings-rebase.changed.md new file mode 100644 index 0000000000..6875c2ace1 --- /dev/null +++ b/changelog.d/1418-spi-donor-savings-rebase.changed.md @@ -0,0 +1 @@ +The SPI income stage now rebases the 2022-23 tape's interest and other income to HMRC's published 2023-24 Table 3.7 amounts band by band (the tape banded by its own total income; the published rows are vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then carries both to the frame's year on the OBR's savings income growth (October 2026 EFO, Table 4.5), the path the Table 3.7 band targets take. Before, each column moved by its engine index from 2022 to 2024: other income by GDP per head (x1.09) where SPI's own other income grew x1.65 in the single year to 2023-24, and interest by ONS household interest (x2.27) where SPI's grew x2.69 in that year. The frame then carried about 70 percent of the Table 3.7 savings rows at design weights, and the solve met them by stretching the weights of the few households that carry them. On the tape, the £1m-and-over band's other income outweighs its interest, as in the published table, so the rebase also undoes the split the two indices had flipped (#1418 savings follow-up). diff --git a/docs/uk-income-anchors-280.md b/docs/uk-income-anchors-280.md index 6e944ed71a..de89587cb6 100644 --- a/docs/uk-income-anchors-280.md +++ b/docs/uk-income-anchors-280.md @@ -78,6 +78,17 @@ membership carries the uprated value with its receipt. by `tools/pin_uk_uprating_engine_values.py`, whose `--check` refuses drift), so it runs and reproduces without policyengine-uk; a `requires_uk` test holds the pins in lockstep with the installed engine, and an engine bump re-runs the tool. + + The SPI donors reach the frame's year apart from these indices for interest + and other income (microcosm#1418 savings follow-up). The income stage first + scales each donor's two columns to HMRC's published 2023-24 Table 3.7 amounts + in its band of total income (`spi_income.rebase_spi_donor_savings`, the rows + vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then grows them on the + OBR's savings income path the Table 3.7 targets take + (`hmrc_uprating.uk_obr_savings_income_level`). Each band's factor is the + published amount over the tape's FACT-weighted one; a band the tape carries + none of is left as it is. From the frame's year on, the engine projects both + columns at GDP per head. - Count rows: `hmrc.itl_2026.taxpayer_count_growth_by_total_income_band`, HMRC's own projected growth in Income Tax payers for the Table 2.5 band that contains the SPI band (Income Tax liabilities statistics, July 2026), as the diff --git a/packages/microcosm-build/src/microcosm/build/uk/country_package.json b/packages/microcosm-build/src/microcosm/build/uk/country_package.json index beeab50447..b08cf165d6 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/country_package.json +++ b/packages/microcosm-build/src/microcosm/build/uk/country_package.json @@ -152,6 +152,11 @@ "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "hmrc_spi_table_3_7_savings_rows.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "slc_liable_stocks.json", "kind": "legacy_json", diff --git a/packages/microcosm-build/src/microcosm/build/uk/hmrc_spi_table_3_7_savings_rows.json b/packages/microcosm-build/src/microcosm/build/uk/hmrc_spi_table_3_7_savings_rows.json new file mode 100644 index 0000000000..ae2b4681f6 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/uk/hmrc_spi_table_3_7_savings_rows.json @@ -0,0 +1,1217 @@ +{ + "schema_version": 1, + "country": "uk", + "kind": "uk_vendored_ledger_facts", + "resource": "hmrc_spi_table_3_7_savings_rows.json", + "purpose": "HMRC Survey of Personal Incomes 2023-24, Table 3.7 (income by source and range of total income, taxpayers): the United Kingdom interest from banks and building societies and other income amounts in each of the 13 total-income bands. Consumed by the SPI income stage, which rebases each donor's interest and other income from the 2022-23 tape to these 2023-24 amounts band by band before the OBR's savings income growth carries them to the frame's year (microcosm#1418 savings follow-up).", + "consumers": [ + "uk_runtime.spi_income" + ], + "planned_consumers": [], + "policy": "Rows are copied verbatim from the pinned Chronicle consumer feed named in source_fact_feed; every value is a publisher-stated fact. Consumers declare their own arithmetic on these rows and never edit this file by hand: regenerate it with tools/vendor_uk_ledger_facts.py.", + "generator": { + "tool": "tools/vendor_uk_ledger_facts.py", + "version": 1 + }, + "source_fact_feed": { + "source_repo": "PolicyEngine/chronicle", + "source_commit": "53815b24844cb63c103209f197f9d3d9e2e424a9", + "build": "build-bundle --suite uk -> build-consumer-artifact", + "artifact_schema_version": "policyengine_ledger.consumer_artifact.v2", + "fact_row_count": 1511063, + "facts_sha256": "4b0e5c1ad057946407807428a1c79c70d9b14e2f8539ea8fb93524573c026227", + "manifest_sha256": "708231c77432d2838bf1ee7d8f3080e49ca0e59edccdd45c36b3405db2cb45fb" + }, + "selections": [ + { + "label": "spi_2023_24_table_3_7_savings_rows", + "selector": { + "source_name": "hmrc", + "source_concept": [ + "hmrc.spi_savings_interest_income_amount", + "hmrc.spi_other_income_amount" + ], + "groupby_dimension": "hmrc.total_income_band", + "geography_id": "K02000001", + "period_type": "tax_year", + "period_value": [ + 2023 + ] + }, + "row_count": 26 + } + ], + "row_count": 26, + "rows": [ + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_e5510c38e40c6826732890f1", + "semantic_fact_key": "ledger_semantic_fact_v2_a03df98dc27f88f8be477fa5", + "source_record_id": "hmrc.spi_2324.table_3_7.band_100000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_100000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 100000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 455000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_4587a245d3c10ba59c5bfa6e", + "semantic_fact_key": "ledger_semantic_fact_v2_985c94cce353d872448c574e", + "source_record_id": "hmrc.spi_2324.table_3_7.band_1000000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_1000000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 1000000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 1790000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_2717645cfa430002f67162c4", + "semantic_fact_key": "ledger_semantic_fact_v2_b414f94aba1bea525e7006f5", + "source_record_id": "hmrc.spi_2324.table_3_7.band_12570.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_12570", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 12570 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 6000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_c83a328cd251998df1d53dd8", + "semantic_fact_key": "ledger_semantic_fact_v2_1b8445c61dc70638ebd2c74c", + "source_record_id": "hmrc.spi_2324.table_3_7.band_15000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_15000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 15000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 33000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_75e68302293f837179617425", + "semantic_fact_key": "ledger_semantic_fact_v2_92ae7dc34ae10b892c099284", + "source_record_id": "hmrc.spi_2324.table_3_7.band_150000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_150000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 150000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 322000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_8573ad2cda65bae28ddde217", + "semantic_fact_key": "ledger_semantic_fact_v2_0577f10c1b94d5cbecb0534e", + "source_record_id": "hmrc.spi_2324.table_3_7.band_20000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_20000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 20000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 157000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_e8bdf778e214cd826bd17df2", + "semantic_fact_key": "ledger_semantic_fact_v2_7f0ee30171c114dd081beccf", + "source_record_id": "hmrc.spi_2324.table_3_7.band_200000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_200000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 200000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 499000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_93e6a9a54395ba63cfbc019f", + "semantic_fact_key": "ledger_semantic_fact_v2_0b8fdecf9e2abefa1317682b", + "source_record_id": "hmrc.spi_2324.table_3_7.band_30000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_30000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 30000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 190000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_678dce88d0d33cf807237111", + "semantic_fact_key": "ledger_semantic_fact_v2_14476dce35fafee69ee1e6a1", + "source_record_id": "hmrc.spi_2324.table_3_7.band_300000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_300000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 300000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 642000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_9c1b58625019a01860f2e32d", + "semantic_fact_key": "ledger_semantic_fact_v2_523120d087c5cbdb6b343d44", + "source_record_id": "hmrc.spi_2324.table_3_7.band_40000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_40000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 40000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 216000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_e718979f8b1e09d15cffce7e", + "semantic_fact_key": "ledger_semantic_fact_v2_0d0e169580b0ac5e5513ce4e", + "source_record_id": "hmrc.spi_2324.table_3_7.band_50000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_50000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 50000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 377000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_e7005d9bc7c85c2f94930ad0", + "semantic_fact_key": "ledger_semantic_fact_v2_1075f7c5b2ce05bea3dd9e7f", + "source_record_id": "hmrc.spi_2324.table_3_7.band_500000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_500000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 500000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 744000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_b28e1ec629932e2237eee742", + "semantic_fact_key": "ledger_semantic_fact_v2_e2edc5ca161535de4675b008", + "source_record_id": "hmrc.spi_2324.table_3_7.band_70000.other_income_amount", + "concept": "hmrc.spi_other_income_amount", + "measure_id": "other_income_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_70000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 70000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 415000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_0ef4a95b830d9e4e41b15e02", + "semantic_fact_key": "ledger_semantic_fact_v2_4a4569704cc5a077919d551c", + "source_record_id": "hmrc.spi_2324.table_3_7.band_100000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_100000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 100000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 1260000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_4f8e330da2fcd6774dd7ea1a", + "semantic_fact_key": "ledger_semantic_fact_v2_d70e23809e18fd573e088875", + "source_record_id": "hmrc.spi_2324.table_3_7.band_1000000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_1000000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 1000000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 1240000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_bd65aa884ad89d9837551b0e", + "semantic_fact_key": "ledger_semantic_fact_v2_1fd7e186cfe18dc8101d732e", + "source_record_id": "hmrc.spi_2324.table_3_7.band_12570.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_12570", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 12570 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 274000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_34ecf84ec234f3525db59f91", + "semantic_fact_key": "ledger_semantic_fact_v2_b71d465fa22f287f801e1600", + "source_record_id": "hmrc.spi_2324.table_3_7.band_15000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_15000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 15000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 1370000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_89bdbe74eda3cee8844ad898", + "semantic_fact_key": "ledger_semantic_fact_v2_7455ca917af359f592f53baa", + "source_record_id": "hmrc.spi_2324.table_3_7.band_150000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_150000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 150000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 650000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_752ea2329d313046c61bf1e2", + "semantic_fact_key": "ledger_semantic_fact_v2_5565e9911ead200a021feed5", + "source_record_id": "hmrc.spi_2324.table_3_7.band_20000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_20000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 20000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 3130000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_02f3a7f7b7097a3fd455b702", + "semantic_fact_key": "ledger_semantic_fact_v2_319901210d0afbf0de06c224", + "source_record_id": "hmrc.spi_2324.table_3_7.band_200000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_200000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 200000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 733000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_d341b6820714e38a12ac4b1c", + "semantic_fact_key": "ledger_semantic_fact_v2_1fb51f0e371951a3d0d67dc5", + "source_record_id": "hmrc.spi_2324.table_3_7.band_30000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_30000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 30000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 2530000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_8fc8bdb298f62c90d7af57b8", + "semantic_fact_key": "ledger_semantic_fact_v2_cf9ed3d017bb0c21d24bd5ce", + "source_record_id": "hmrc.spi_2324.table_3_7.band_300000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_300000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 300000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 673000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_367d1c49bfab3c640463ded8", + "semantic_fact_key": "ledger_semantic_fact_v2_88d6fe5ff5e512fd0baae89c", + "source_record_id": "hmrc.spi_2324.table_3_7.band_40000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_40000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 40000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 1870000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_819d2f77e45b3ba5a7907a4a", + "semantic_fact_key": "ledger_semantic_fact_v2_6f58eabf6f4f5ca53a106611", + "source_record_id": "hmrc.spi_2324.table_3_7.band_50000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_50000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 50000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 2340000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_5d68b2314b5c54a09f274733", + "semantic_fact_key": "ledger_semantic_fact_v2_66db03562553db442bf55fd1", + "source_record_id": "hmrc.spi_2324.table_3_7.band_500000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_500000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 500000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 653000000 + }, + { + "aggregate_fact_key": "ledger_aggregate_fact_v2_ab8a5ac6dd4ba75e194133f1", + "semantic_fact_key": "ledger_semantic_fact_v2_0cf642d6a0e4224ef468b28c", + "source_record_id": "hmrc.spi_2324.table_3_7.band_70000.savings_interest_amount", + "concept": "hmrc.spi_savings_interest_income_amount", + "measure_id": "savings_interest_amount", + "unit": "gbp", + "aggregation": "sum", + "entity": { + "name": "person", + "role": "taxpayer" + }, + "geography": { + "id": "K02000001", + "level": "country", + "vintage": "current" + }, + "period": { + "type": "tax_year", + "value": 2023 + }, + "period_coverage": { + "start_date": null, + "end_date": null, + "basis": null + }, + "layout": { + "record_set_id": "hmrc.spi_2324.table_3_7", + "groupby_dimension": "hmrc.total_income_band", + "groupby_value_id": "band_70000", + "table_record_kind": "detail" + }, + "dimensions": { + "total_income_lower_bound": 70000 + }, + "source": { + "source_name": "hmrc", + "source_table": "SPI collated Tables 3.1 to 3.11, tax year 2023-24: income by range of total income", + "source_file": "Collated_Tables_3_1_to_3_11_2324.ods", + "source_sha256": "ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e", + "vintage": "spi_2023_24", + "raw_r2_key": "raw/hmrc/hmrc-spi-income-bands-2023-24/2024/ad063b06b2bdeef8600dbbb09d48153337a4966f8c7eea50df7a2e0304ebd73e/Collated_Tables_3_1_to_3_11_2324.ods" + }, + "value": 1620000000 + } + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/uk/ledger_fact_vendor_selections.json b/packages/microcosm-build/src/microcosm/build/uk/ledger_fact_vendor_selections.json index f84307961b..daa49a027b 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/ledger_fact_vendor_selections.json +++ b/packages/microcosm-build/src/microcosm/build/uk/ledger_fact_vendor_selections.json @@ -1726,6 +1726,33 @@ "expected_row_count": 8 } ] + }, + { + "resource": "hmrc_spi_table_3_7_savings_rows.json", + "purpose": "HMRC Survey of Personal Incomes 2023-24, Table 3.7 (income by source and range of total income, taxpayers): the United Kingdom interest from banks and building societies and other income amounts in each of the 13 total-income bands. Consumed by the SPI income stage, which rebases each donor's interest and other income from the 2022-23 tape to these 2023-24 amounts band by band before the OBR's savings income growth carries them to the frame's year (microcosm#1418 savings follow-up).", + "consumers": [ + "uk_runtime.spi_income" + ], + "planned_consumers": [], + "selections": [ + { + "label": "spi_2023_24_table_3_7_savings_rows", + "selector": { + "source_name": "hmrc", + "source_concept": [ + "hmrc.spi_savings_interest_income_amount", + "hmrc.spi_other_income_amount" + ], + "groupby_dimension": "hmrc.total_income_band", + "geography_id": "K02000001", + "period_type": "tax_year", + "period_value": [ + 2023 + ] + }, + "expected_row_count": 26 + } + ] } ] } diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/hmrc_uprating.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/hmrc_uprating.py index 94ce046cf6..7f4ae40f0a 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/hmrc_uprating.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/hmrc_uprating.py @@ -1368,6 +1368,46 @@ def _savings_income_level( return value +def uk_obr_savings_income_level( + opening_year: int, + year: int, + *, + rows: list[Mapping[str, Any]] | None = None, +) -> tuple[float, dict[int, tuple[float, str]]]: + """Savings income in fiscal ``year`` over fiscal ``opening_year``. + + The OBR's growth rates chained between the two fiscal years, read from + the vendored resource the SPI savings rows grow by; returns the level and + each year's growth with its source record. The SPI income stage rebases + its donors' savings to the frame's year on it (microcosm#1418 savings + follow-up). A year the resource does not carry is refused. + """ + + if rows is None: + rows = list( + vendored_rows( + UK_OBR_SAVINGS_INCOME_GROWTH_RESOURCE, + concept=UK_OBR_SAVINGS_INCOME_GROWTH_CONCEPT, + period_type="fiscal_year", + ) + ) + if int(year) < int(opening_year): + raise ValueError( + f"The OBR savings income path runs forward only: fiscal year {year} " + f"is before {opening_year}." + ) + growth = _obr_savings_income_growth(rows) + used: dict[int, tuple[float, str]] = {} + level = _savings_income_level( + growth, + opening_year=int(opening_year), + year=int(year), + spec_name="SPI donor savings", + used=used, + ) + return level, used + + def align_hmrc_row_by_obr_savings_income_growth( reference: LedgerTargetReference, registry: TargetRegistry, @@ -1534,4 +1574,5 @@ def align_hmrc_count_row_by_taxpayer_growth( "installed_engine_version", "live_engine_parameter_value", "hmrc_uprating_appliers", + "uk_obr_savings_income_level", ] diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py index fb6b52cdfd..e663a4009e 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py @@ -205,8 +205,29 @@ #: microcosm#1095) until microcosm#1418 moved them to the OBR's savings income #: forecast, so the calibration closes the gap between the two. The engine #: lockstep test holds both indices to the engine's. +#: +#: Since the microcosm#1418 savings follow-up, interest and other income +#: reach the frame's year on SPI's own path instead +#: (``rebase_spi_donor_savings``): HMRC's published 2023-24 Table 3.7 amounts +#: by range of total income, then the OBR's savings income growth, the path +#: the band targets take. On their engine indices the 2022-23 tape reached +#: 2024 at about half of SPI's 2023-24 other income (GDP per head, x1.09, +#: against x1.65 in that one year) and short of its interest, and the solve +#: met the band targets by stretching the few households that carry them. +#: Both columns run on the projection's index from the frame's year on, named +#: here. SPI_HISTORY_INDEX_DIFFERS_FROM_PROJECTION = { "savings_interest_income": "gov.economic_assumptions.indices.obr.per_capita.gdp", + "other_investment_income": "gov.economic_assumptions.indices.obr.per_capita.gdp", +} +#: The published rows the donor savings rebase reads (vendored from the +#: Chronicle feed pin), the year they describe, and each rebased column's +#: Table 3.7 concept. +SPI_SAVINGS_REBASE_RESOURCE = "hmrc_spi_table_3_7_savings_rows.json" +SPI_SAVINGS_REBASE_YEAR = 2023 +SPI_SAVINGS_REBASE_CONCEPTS = { + "savings_interest_income": "hmrc.spi_savings_interest_income_amount", + "other_investment_income": "hmrc.spi_other_income_amount", } # Use the pinned engine's variable-specific indices. None explicitly retains # nominal amounts where no same-scope indexed mapping has been reviewed; @@ -848,6 +869,14 @@ def impute_uk_spi_income_support( raise TypeError("donor_table must be a pandas DataFrame.") raw_donor = donor_table.copy(deep=True) donor = _prepare_spi_donor(raw_donor, seed=seed, age_model=donor_age_model) + # The tape's interest and other income move to SPI's 2023-24 bands before + # any draw, so the forest and the band donors read the same rebased tape + # (microcosm#1418 savings follow-up). + savings_rebase = None + if rebase_income_to_build_period and int(build_period) >= SPI_SAVINGS_REBASE_YEAR: + donor, savings_rebase = rebase_spi_donor_savings( + donor, spi_savings_rebase_published() + ) donor_age_draw = { **donor.attrs.get("age_draw", {}), "stage1_query_age": SPI_STAGE1_QUERY_AGE_RULE, @@ -1102,6 +1131,8 @@ def fit_reference(encoded: pd.DataFrame, observed: pd.DataFrame): uprating_factors, income_uprating = _spi_income_uprating_factors( int(build_period) ) + if savings_rebase is not None: + income_uprating = {**income_uprating, "savings_rebase": savings_rebase} stage1_draws = stage1_draws.mul(pd.Series(uprating_factors), axis="columns") nonnegative_stage1 = [ column @@ -1662,6 +1693,11 @@ def _spi_income_uprating_factors(year: int): """Rebase SPI money flows before conditioning on build-year FRS incomes.""" from policyengine_uk import CountryTaxBenefitSystem + from microcosm.build.uk_runtime.hmrc_uprating import ( + UK_OBR_SAVINGS_INCOME_GROWTH_INDEX_CONCEPT, + uk_obr_savings_income_level, + ) + if year < SPI_DONOR_INCOME_YEAR: raise ValueError("SPI income cannot be rebased before its source year.") if set(SPI_INCOME_UPRATING_VARIABLES) != set(SPI_INCOME_QRF_OUTPUT_COLUMNS): @@ -1672,6 +1708,26 @@ def _spi_income_uprating_factors(year: int): factors = {} columns = {} for column, variable_name in SPI_INCOME_UPRATING_VARIABLES.items(): + if column in SPI_SAVINGS_REBASE_CONCEPTS and year >= SPI_SAVINGS_REBASE_YEAR: + # rebase_spi_donor_savings has moved the column to SPI's 2023-24 + # bands; the OBR's savings income growth carries it on. + factor, used = uk_obr_savings_income_level(SPI_SAVINGS_REBASE_YEAR, year) + factors[column] = factor + columns[column] = { + "variable": variable_name, + "index": UK_OBR_SAVINGS_INCOME_GROWTH_INDEX_CONCEPT, + "factor": factor, + "basis": "spi_published_bands_then_obr_savings_income", + "from_period": SPI_SAVINGS_REBASE_YEAR, + "growth_by_year": { + str(fiscal_year): growth + for fiscal_year, (growth, _) in used.items() + }, + "dataset_projection_index": ( + SPI_HISTORY_INDEX_DIFFERS_FROM_PROJECTION[variable_name] + ), + } + continue path = None factor = 1.0 if variable_name is not None: @@ -1755,6 +1811,122 @@ def prepare_spi_donor_table( return _prepare_spi_donor(raw, seed=seed, age_model=age_model) +def spi_savings_rebase_published( + rows: Sequence[Mapping[str, Any]] | None = None, +) -> dict[str, dict[int, float]]: + """HMRC's 2023-24 Table 3.7 amounts by band, for each rebased column. + + Read from the vendored resource (``SPI_SAVINGS_REBASE_RESOURCE``): the + United Kingdom interest from banks and building societies and other + income of taxpayers, keyed by each band's lower bound of total income. + Both columns must name the same bands, once each. + """ + + if rows is None: + from microcosm.build.uk_runtime.ledger_fact_vendoring import vendored_rows + + rows = vendored_rows(SPI_SAVINGS_REBASE_RESOURCE) + columns = { + concept: column for column, concept in SPI_SAVINGS_REBASE_CONCEPTS.items() + } + published: dict[str, dict[int, float]] = { + column: {} for column in SPI_SAVINGS_REBASE_CONCEPTS + } + for row in rows: + column = columns.get(str(row.get("concept"))) + if column is None: + continue + period = int((row.get("period") or {}).get("value", -1)) + if period != SPI_SAVINGS_REBASE_YEAR: + raise ValueError( + f"{SPI_SAVINGS_REBASE_RESOURCE}: a {column} row describes {period}, " + f"not {SPI_SAVINGS_REBASE_YEAR}." + ) + bound = int((row.get("dimensions") or {})["total_income_lower_bound"]) + if bound in published[column]: + raise ValueError( + f"{SPI_SAVINGS_REBASE_RESOURCE}: {column} has two rows from {bound}." + ) + value = float(row["value"]) + if not np.isfinite(value) or value < 0.0: + raise ValueError( + f"{SPI_SAVINGS_REBASE_RESOURCE}: {column} from {bound} is {value!r}." + ) + published[column][bound] = value + bands = {column: tuple(sorted(by_bound)) for column, by_bound in published.items()} + if not all(bands.values()) or len(set(bands.values())) != 1: + raise ValueError( + f"{SPI_SAVINGS_REBASE_RESOURCE} must give every rebased column the " + f"same total-income bands: {bands}." + ) + return published + + +def rebase_spi_donor_savings( + donor: pd.DataFrame, + published: Mapping[str, Mapping[int, float]], +) -> tuple[pd.DataFrame, dict[str, object]]: + """Move the tape's interest and other income to SPI's 2023-24 bands. + + Each donor's column is scaled by its band's factor: HMRC's published + 2023-24 amount over the tape's FACT-weighted 2022-23 amount in the same + range of total income, the tape banded by its own total income. A donor + below the first band takes the factor of all bands together. The rebased + tape reproduces the published amounts band by band; the OBR's savings + income growth then carries both columns to the frame's year + (``_spi_income_uprating_factors``). A band the tape carries none of has + nothing to scale and is left as it is, named in the receipt: the + production tape carries every band, a synthetic one need not. The receipt + carries the factors only. + """ + + bounds = sorted(next(iter(published.values()))) + income = donor["total_income"].to_numpy(dtype=np.float64) + weights = donor["FACT"].to_numpy(dtype=np.float64) + band = ( + np.searchsorted(np.asarray(bounds, dtype=np.float64), income, side="right") - 1 + ) + banded = band >= 0 + rebased = donor.copy() + receipt: dict[str, object] = { + "resource": SPI_SAVINGS_REBASE_RESOURCE, + "from_period": SPI_DONOR_INCOME_YEAR, + "to_period": SPI_SAVINGS_REBASE_YEAR, + "band_by": "total_income", + "band_lower_bounds": [int(bound) for bound in bounds], + "columns": {}, + } + for column, by_bound in published.items(): + values = donor[column].to_numpy(dtype=np.float64) + tape = np.bincount( + band[banded], weights=(weights * values)[banded], minlength=len(bounds) + ) + target = np.asarray([float(by_bound[bound]) for bound in bounds]) + carried = tape > 0.0 + factors = np.where(carried, target / np.where(carried, tape, 1.0), 1.0) + all_bands = ( + float(target[carried].sum() / tape[carried].sum()) if carried.any() else 1.0 + ) + rebased[column] = values * np.where( + banded, factors[np.clip(band, 0, None)], all_bands + ) + receipt["columns"][column] = { + "concept": SPI_SAVINGS_REBASE_CONCEPTS[column], + "band_factors": { + str(bound): float(factor) + for bound, factor, kept in zip(bounds, factors, carried, strict=True) + if kept + }, + "below_first_band_factor": all_bands, + "bands_without_tape_amounts": [ + int(bound) + for bound, kept in zip(bounds, carried, strict=True) + if not kept + ], + } + return rebased, receipt + + def _prepare_spi_donor( raw: pd.DataFrame, *, diff --git a/packages/microcosm-build/tests/engine/uk/test_uk_hmrc_uprating.py b/packages/microcosm-build/tests/engine/uk/test_uk_hmrc_uprating.py index df556390c6..28a661aa49 100644 --- a/packages/microcosm-build/tests/engine/uk/test_uk_hmrc_uprating.py +++ b/packages/microcosm-build/tests/engine/uk/test_uk_hmrc_uprating.py @@ -32,10 +32,11 @@ def test_spi_band_targets_move_by_the_engines_dataset_projection() -> None: (microcosm#1418); Table 3.10's amounts move by their count index times the engine's index for self-employment income (the independent review of microcosm#1420); and a measure derived from an input moves by the input's - index. The SPI donors still reach the dataset's year by savings interest's - own history index and run on the projection's from there - (``spi_income.SPI_HISTORY_INDEX_DIFFERS_FROM_PROJECTION``), so both are - held to the engine's.""" + index. The SPI donors reach the dataset's year with interest and other + income on SPI's 2023-24 bands and the OBR's savings income growth (the + microcosm#1418 savings follow-up) and run on the projection's index from + there (``spi_income.SPI_HISTORY_INDEX_DIFFERS_FROM_PROJECTION``), so the + projection's index is held to the engine's.""" import json from importlib.resources import files @@ -71,7 +72,8 @@ def test_spi_band_targets_move_by_the_engines_dataset_projection() -> None: } variables = policyengine_uk.CountryTaxBenefitSystem().variables assert SPI_HISTORY_INDEX_DIFFERS_FROM_PROJECTION == { - "savings_interest_income": UK_SPI_SAVINGS_INTEREST_PROJECTION_PARAMETER + "savings_interest_income": UK_SPI_SAVINGS_INTEREST_PROJECTION_PARAMETER, + "other_investment_income": projection["other_investment_income"], } assert ( UK_SPI_SAVINGS_INTEREST_PROJECTION_PARAMETER diff --git a/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py b/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py index 9008564d2c..67c0196201 100644 --- a/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py +++ b/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py @@ -1,6 +1,8 @@ """Tests split from packages/microcosm-build/tests/test_uk_spi_income.py.""" # ruff: noqa: F403, F405 +from microcosm.build.uk_runtime.hmrc_uprating import uk_obr_savings_income_level +from microcosm.build.uk_runtime.spi_income import SPI_SAVINGS_REBASE_CONCEPTS from test_support.microcosm_build.uk_spi_income import * @@ -69,6 +71,15 @@ def test_spi_rebases_income_before_frs_fill_and_preserves_child_inputs( lambda year: (factors, {"from_period": 2022, "to_period": year}), raising=False, ) + # The donor savings rebase runs on the prepared tape when the stage rebases + # to the build year, and only then (microcosm#1418 savings follow-up). + rebased = [] + + def rebase(donor, published): + rebased.append(sorted(published)) + return donor, {"rebased": True} + + monkeypatch.setattr(spi_income, "rebase_spi_donor_savings", rebase) options = dict( seed=9, n_estimators=3, @@ -77,6 +88,7 @@ def test_spi_rebases_income_before_frs_fill_and_preserves_child_inputs( allow_in_sample_reference=True, ) reference = impute_uk_spi_income_support(support, donor_path, **options) + assert rebased == [] result = impute_uk_spi_income_support( support, donor_path, @@ -99,7 +111,12 @@ def test_spi_rebases_income_before_frs_fill_and_preserves_child_inputs( result.person.loc[base, "dividend_income"], person.loc[base, "dividend_income"], ) - assert result.income_uprating == {"from_period": 2022, "to_period": 2024} + assert rebased == [sorted(SPI_SAVINGS_REBASE_CONCEPTS)] + assert result.income_uprating == { + "from_period": 2022, + "to_period": 2024, + "savings_rebase": {"rebased": True}, + } def test_child_exclusion_keeps_the_other_recipients_draws( @@ -702,6 +719,10 @@ def test_spi_uprating_uses_actual_engine_indices_and_explicit_nominal_holdouts() for column, row in receipt["columns"].items() if row["basis"] == "held_nominal" } == nominal + # Interest and other income are rebased to SPI's 2023-24 bands first and + # grow on the OBR's savings income path from there (microcosm#1418 savings + # follow-up). + obr_level, _ = uk_obr_savings_income_level(2023, 2024) for column, row in receipt["columns"].items(): if column in nominal: assert row == { @@ -710,6 +731,10 @@ def test_spi_uprating_uses_actual_engine_indices_and_explicit_nominal_holdouts() "factor": 1.0, "basis": "held_nominal", } + elif column in SPI_SAVINGS_REBASE_CONCEPTS: + assert row["basis"] == "spi_published_bands_then_obr_savings_income" + assert row["from_period"] == 2023 + assert factors[column] == pytest.approx(obr_level) else: path, ratio = expected[row["variable"]] assert row["index"] == "gov.economic_assumptions.indices." + path @@ -769,11 +794,13 @@ def test_spi_rebasing_index_is_the_projections_except_where_named() -> None: else: assert row["index"] == projection[row["variable"]], column assert "dataset_projection_index" not in row - savings = receipt["columns"]["savings_interest_income"] - assert savings["index"] == ( - "gov.economic_assumptions.indices.ons.household_interest_income" - ) - assert savings["factor"] == pytest.approx(2.2692, abs=1e-4) + # Interest and other income reach the frame's year on SPI's own path, the + # 2023-24 bands then the OBR's savings income growth (+35.0% in 2024-25), + # and run on the projection's GDP per head from there. + for column in SPI_SAVINGS_REBASE_CONCEPTS: + savings = receipt["columns"][column] + assert savings["index"] == "obr.efo_2026_10.savings_income_growth" + assert savings["factor"] == pytest.approx(1.3496108, abs=1e-7) def _zero_taxable_income(person: pd.DataFrame, rows) -> None: diff --git a/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py b/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py index 4ef91ac803..98b1c0ac0c 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py @@ -944,6 +944,7 @@ def test_spi_spine_adds_no_country_package_resources(self) -> None: "bonus_sacrifice_anchor.json", "obr_salary_sacrifice_costing_facts.json", "obr_savings_income_growth_facts.json", + "hmrc_spi_table_3_7_savings_rows.json", "slc_liable_stocks.json", "hmrc_income_release_gate_report.json", "hmrc_income_replay_report.json", @@ -1106,6 +1107,7 @@ def test_uk_package_loads(self) -> None: "bonus_sacrifice_anchor.json", "obr_salary_sacrifice_costing_facts.json", "obr_savings_income_growth_facts.json", + "hmrc_spi_table_3_7_savings_rows.json", "slc_liable_stocks.json", "hmrc_income_release_gate_report.json", "hmrc_income_replay_report.json", diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py new file mode 100644 index 0000000000..a2f1098f7c --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py @@ -0,0 +1,185 @@ +"""The SPI donors' savings rebase (microcosm#1418 savings follow-up). + +The 2022-23 tape's interest and other income move to HMRC's published +2023-24 Table 3.7 amounts band by band, then on the OBR's savings income +growth to the frame's year, in place of each column's engine index. +""" + +from __future__ import annotations + +import sys +from types import SimpleNamespace + +import pandas as pd +import pytest + +from microcosm.build.uk_runtime import spi_income +from microcosm.build.uk_runtime.hmrc_uprating import uk_obr_savings_income_level +from microcosm.build.uk_runtime.spi_income import ( + SPI_HISTORY_INDEX_DIFFERS_FROM_PROJECTION, + SPI_SAVINGS_REBASE_CONCEPTS, + SPI_SAVINGS_REBASE_YEAR, + rebase_spi_donor_savings, + spi_savings_rebase_published, +) + +PUBLISHED = { + "savings_interest_income": {12_570: 1_500.0, 50_000: 2_000.0, 1_000_000: 3_000.0}, + "other_investment_income": {12_570: 400.0, 50_000: 400.0, 1_000_000: 18_000.0}, +} + + +def _rows(amounts): + return [ + { + "concept": SPI_SAVINGS_REBASE_CONCEPTS[column], + "period": {"type": "tax_year", "value": SPI_SAVINGS_REBASE_YEAR}, + "dimensions": {"total_income_lower_bound": bound}, + "value": value, + } + for column, by_bound in amounts.items() + for bound, value in by_bound.items() + ] + + +def _donor() -> pd.DataFrame: + return pd.DataFrame( + { + "total_income": [5_000.0, 15_000.0, 15_000.0, 50_000.0, 2_000_000.0], + "FACT": [10.0, 5.0, 5.0, 2.0, 1.0], + "savings_interest_income": [100.0, 40.0, 60.0, 500.0, 1_000.0], + "other_investment_income": [0.0, 10.0, 30.0, 100.0, 9_000.0], + "dividend_income": [1.0, 2.0, 3.0, 4.0, 5.0], + } + ) + + +def test_the_rebased_tape_reproduces_the_published_bands() -> None: + donor = _donor() + rebased, receipt = rebase_spi_donor_savings(donor, PUBLISHED) + + # A donor at a band's lower bound sits in that band. + rows_by_band = {12_570: [1, 2], 50_000: [3], 1_000_000: [4]} + for column, by_bound in PUBLISHED.items(): + for bound, rows in rows_by_band.items(): + weighted = rebased.loc[rows, column] * rebased.loc[rows, "FACT"] + assert weighted.sum() == pytest.approx(by_bound[bound]) + # Interest: the tape's 500, 1,000 and 1,000 against 1,500, 2,000 and + # 3,000; a donor below the first band takes all bands' 6,500 over 2,500. + assert receipt["columns"]["savings_interest_income"]["band_factors"] == { + "12570": 3.0, + "50000": 2.0, + "1000000": 3.0, + } + assert rebased.loc[0, "savings_interest_income"] == pytest.approx(100.0 * 2.6) + assert receipt["columns"]["savings_interest_income"][ + "below_first_band_factor" + ] == pytest.approx(2.6) + # Other columns, and the tape passed in, are left as they were. + pd.testing.assert_series_equal(rebased["dividend_income"], donor["dividend_income"]) + assert donor.loc[0, "savings_interest_income"] == 100.0 + assert receipt["from_period"] == 2022 and receipt["to_period"] == 2023 + # The receipt carries factors, never a count of tape records. + assert set(receipt["columns"]["other_investment_income"]) == { + "concept", + "band_factors", + "below_first_band_factor", + "bands_without_tape_amounts", + } + assert ( + receipt["columns"]["other_investment_income"]["bands_without_tape_amounts"] + == [] + ) + + +def test_a_band_the_tape_does_not_carry_is_left_as_it_is() -> None: + # A synthetic tape need not carry every band; there is nothing to scale + # there, and the receipt names the band. + donor = _donor() + donor.loc[4, "other_investment_income"] = 0.0 + rebased, receipt = rebase_spi_donor_savings(donor, PUBLISHED) + other = receipt["columns"]["other_investment_income"] + assert other["bands_without_tape_amounts"] == [1_000_000] + assert "1000000" not in other["band_factors"] + assert rebased.loc[4, "other_investment_income"] == 0.0 + # The other bands, and below the first, still rebase: 800 over 400. + assert other["below_first_band_factor"] == pytest.approx(2.0) + assert rebased.loc[3, "other_investment_income"] == pytest.approx(200.0) + + +def test_the_published_rows_are_checked() -> None: + rows = _rows(PUBLISHED) + assert spi_savings_rebase_published(rows) == PUBLISHED + stale = [dict(rows[0], period={"type": "tax_year", "value": 2022}), *rows[1:]] + with pytest.raises(ValueError, match="describes 2022"): + spi_savings_rebase_published(stale) + with pytest.raises(ValueError, match="two rows from"): + spi_savings_rebase_published([*rows, rows[0]]) + uneven = [ + row + for row in rows + if not ( + row["concept"] == SPI_SAVINGS_REBASE_CONCEPTS["other_investment_income"] + and row["dimensions"]["total_income_lower_bound"] == 50_000 + ) + ] + with pytest.raises(ValueError, match="same total-income bands"): + spi_savings_rebase_published(uneven) + + +def test_the_committed_rows_give_both_columns_table_3_7s_thirteen_bands() -> None: + published = spi_savings_rebase_published() + assert {column: len(bands) for column, bands in published.items()} == { + "savings_interest_income": 13, + "other_investment_income": 13, + } + assert min(published["savings_interest_income"]) == 12_570 + # SPI 2023-24 Table 3.7, all bands: GBP 18.34bn of interest and GBP + # 5.85bn of other income. + assert sum(published["savings_interest_income"].values()) == pytest.approx( + 18.343e9, rel=1e-3 + ) + assert sum(published["other_investment_income"].values()) == pytest.approx( + 5.846e9, rel=1e-3 + ) + + +def test_the_savings_columns_grow_on_the_obr_path_from_2023_24(monkeypatch) -> None: + variables = { + name: SimpleNamespace(uprating="index") + for name in spi_income.SPI_INCOME_UPRATING_VARIABLES.values() + if name is not None + } + + def parameters(period): + return SimpleNamespace(index=100.0 if period.startswith("2022") else 120.0) + + system = SimpleNamespace(variables=variables, parameters=parameters) + monkeypatch.setitem( + sys.modules, + "policyengine_uk", + SimpleNamespace(CountryTaxBenefitSystem=lambda: system), + ) + factors, receipt = spi_income._spi_income_uprating_factors.__wrapped__(2024) + + level, used = uk_obr_savings_income_level(2023, 2024) + # The OBR's +35.0% for 2024-25 (October 2026 EFO, Table 4.5). + assert level == pytest.approx(1.3496108, abs=1e-7) + assert sorted(used) == [2024] + for column in SPI_SAVINGS_REBASE_CONCEPTS: + row = receipt["columns"][column] + assert row["basis"] == "spi_published_bands_then_obr_savings_income" + assert row["from_period"] == SPI_SAVINGS_REBASE_YEAR + assert factors[column] == pytest.approx(level) + assert ( + row["dataset_projection_index"] + == (SPI_HISTORY_INDEX_DIFFERS_FROM_PROJECTION[column]) + ) + # Every other indexed column keeps its engine index from the tape's year. + assert factors["dividend_income"] == pytest.approx(1.2) + # Before 2023-24 there is nothing to rebase to: the source year is the + # identity, and the path refuses to run backwards. + unchanged, _ = spi_income._spi_income_uprating_factors.__wrapped__(2022) + assert unchanged["other_investment_income"] == pytest.approx(1.0) + with pytest.raises(ValueError, match="runs forward only"): + uk_obr_savings_income_level(2024, 2023) From f3cb3ddd3d4b547974386d48a29c95c6180047f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 12:06:14 +0000 Subject: [PATCH 25/67] Widen the UC take-up gate to 0.06 for the savings rebase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The first spine built from 667fe532a stopped at uk_stage_uc_take_up. Single people's caseload ended 0.0568 of DWP's count further from it than before the redraw, against 0.0523 on PR C's spine and a tolerance of 0.055. The rebased SPI savings feed the UC reporter redraw's investment-income predictor. The few SPI benefit units whose report changes move the take-up stage's pool merging, which joins adjacent award bands until each pool rests on enough sources. Single people's £1,000 to £1,100 award band moved from a reachable pool into one whose DWP target exceeds the entitled units. The reachable pools still realize DWP's counts within 0.005. The tolerance goes to 0.06 (María's ruling of 2026-10-30), as PR A took it from 0.05 to 0.055 for the gilt reshuffle. Pool boundaries that move with small upstream changes are a follow-up on #1334. The gate's note, the committed-parameter test and the data contract's mirrored digests are updated. Co-Authored-By: Claude Opus 5.5 --- .../microcosm-build/src/microcosm/build/uk/gates.json | 4 ++-- .../tests/engine_free/uk/test_uk_stage_health.py | 4 ++-- packages/microcosm-data/src/microcosm/data/contract.py | 10 +++++----- .../tests/engine_free/shared/test_contract.py | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/uk/gates.json b/packages/microcosm-build/src/microcosm/build/uk/gates.json index 31c672e511..0bc8dc8e94 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/gates.json +++ b/packages/microcosm-build/src/microcosm/build/uk/gates.json @@ -621,9 +621,9 @@ "parameters": { "stage": "uc_take_up", "check": "uc_take_up", - "maximum_caseload_deviation": 0.055 + "maximum_caseload_deviation": 0.06 }, - "notes": "Stage-time gate over the Universal Credit take-up receipt (microcosm#1334): every reporter claims and no unit outside the draw changes; in each DWP family type the pools whose target is reachable realize DWP's calendar-2025 caseload within 0.055 of it at the stage's weights, Great Britain only, counting units the engine moves off their legacy benefits at their expected claim at the closure; and the family type's caseload is no further from DWP's than before the redraw, give or take 0.055 of DWP's count. The tolerance was 0.05 until microcosm#1418: routing gilt interest out of dividend_income reshuffles the SPI channel's draws. On the spine of 2026-10-28 (da944f12c), single people's caseload ends 0.0523 of DWP's count further from it than before the redraw (0.0486 on the spine before, 3c0d11b6's), so 0.055 holds it with about 8,000 to spare; couples without children, lone parents and couples with children end closer than before by 0.53, 0.054 and 0.42 of their counts, and every family type's reachable pools realize DWP's count within 0.0015. The terminal take-up signal gate no longer measures would_claim_uc, whose rate is now set by award band and family type, not as one share of the age population." + "notes": "Stage-time gate over the Universal Credit take-up receipt (microcosm#1334): every reporter claims and no unit outside the draw changes; in each DWP family type the pools whose target is reachable realize DWP's calendar-2025 caseload within 0.06 of it at the stage's weights, Great Britain only, counting units the engine moves off their legacy benefits at their expected claim at the closure; and the family type's caseload is no further from DWP's than before the redraw, give or take 0.06 of DWP's count. The tolerance was 0.05 until microcosm#1418, whose routing of gilt interest out of dividend_income reshuffles the SPI channel's draws, and 0.055 until the savings follow-up (microcosm#1428, María's ruling of 2026-10-30). There the SPI donors' interest and other income, rebased to SPI's 2023-24 bands, feed the UC reporter redraw's investment-income predictor; the few SPI benefit units whose report changes move the stage's pool merging, which joins adjacent award bands until each pool rests on enough sources, and single people's GBP 1,000 to 1,100 band moves from a reachable pool into one whose DWP target exceeds the entitled units. On the spine of 2026-10-30 (667fe532a), single people's caseload ends 0.0568 of DWP's count further from it than before the redraw (0.0523 on the spine before, 5aba83cd2's), so 0.06 holds it with about 10,000 to spare; couples without children, couples with children and lone parents end closer than before by 0.55, 0.40 and 0.054 of their counts, and every family type's reachable pools realize DWP's count within 0.005. Pool boundaries that move with small upstream changes are a follow-up on microcosm#1334. The terminal take-up signal gate no longer measures would_claim_uc, whose rate is now set by award band and family type, not as one share of the age population." }, { "id": "uk_stage_pension_credit_take_up", diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_stage_health.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_stage_health.py index fa4a989e18..c3243951a5 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_stage_health.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_stage_health.py @@ -2322,11 +2322,11 @@ def family(dwp, before, after, reachable, realized): "reachable_pools_caseload_after": realized, } - # 0.05 until microcosm#1418. + # 0.05 until microcosm#1418, 0.055 until the savings follow-up (microcosm#1428). parameters = { "stage": "uc_take_up", "check": "uc_take_up", - "maximum_caseload_deviation": 0.055, + "maximum_caseload_deviation": 0.06, } def gate(families, **counts): diff --git a/packages/microcosm-data/src/microcosm/data/contract.py b/packages/microcosm-data/src/microcosm/data/contract.py index 0c976fe17e..7a43bb4ff5 100644 --- a/packages/microcosm-data/src/microcosm/data/contract.py +++ b/packages/microcosm-data/src/microcosm/data/contract.py @@ -451,13 +451,13 @@ def compatibility_claim_declarer_error(declared_by: object) -> str | None: # fingerprint derives from the manifest digest. Editing the spec moves all # three here in the same reviewed change. _UK_GATE_BATTERY_POLICY_SHA256 = ( - "2cba4eea2a100807d7beac76df4fa753a81be869af13859ab91de6ab27096e6d" + "3a596a79250c9f492eac81e569c402c645f9d20aa8f9c7c852899be0a52268bc" ) _UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "1cb27600d7520fa5d049be0fec0898cd0f512c395918ee6f4cc9b9c9478713a2" + "856681a691772dc4a64200cefcba7a762b12538fad63eac79d5e428789590049" ) _UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "80c3b49acd8c039c82b247997e7bc25aa7e8e22cfbfb424362274c2cbbd9c895" + "de084ea8b3f6a3a78f7dcb0eac7ca1e89fce1a2b2bce81de59f9132276e0641a" ) #: Spec entry id -> the legacy gate name whose observable detail checks #: apply unchanged (the battery re-keys the report by entry id; the gate @@ -955,10 +955,10 @@ def _uk_line_cut_tag_re(release_id: str) -> re.Pattern[str] | None: _UK_CERTIFICATION_PART_DIGESTS: Mapping[str, Mapping[str, str]] = { "spine": { "gates_manifest_sha256": ( - "75684f2b3e1ce0dd8fdb6e220cb4336a4e845c2802f67f507d27385346a4b790" + "c39ea6701d8871c8c1af4a23001bd91e504c1f9712ecc56c83e613d49b0820ac" ), "policy_sha256": ( - "53a93836d048a4e652b943d866e64801f5b29b41b92965e0641a9387f8cb67e5" + "988e47cd3e497af76683feeff0c1db7bdf82786fda51d4aaf316001d658210a7" ), }, "calibration_seam": { diff --git a/packages/microcosm-data/tests/engine_free/shared/test_contract.py b/packages/microcosm-data/tests/engine_free/shared/test_contract.py index 773ae7395f..3a995c2a54 100644 --- a/packages/microcosm-data/tests/engine_free/shared/test_contract.py +++ b/packages/microcosm-data/tests/engine_free/shared/test_contract.py @@ -213,13 +213,13 @@ def _trusted_terminal_gate_signing_key(monkeypatch) -> None: UK_GATE_BATTERY_PRODUCER = "microcosm.build.gate_battery" UK_GATE_BATTERY_SIGNING_KEY_ENV = "MICROCOSM_UK_TERMINAL_GATE_SIGNING_KEY" UK_GATE_BATTERY_POLICY_SHA256 = ( - "2cba4eea2a100807d7beac76df4fa753a81be869af13859ab91de6ab27096e6d" + "3a596a79250c9f492eac81e569c402c645f9d20aa8f9c7c852899be0a52268bc" ) UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "1cb27600d7520fa5d049be0fec0898cd0f512c395918ee6f4cc9b9c9478713a2" + "856681a691772dc4a64200cefcba7a762b12538fad63eac79d5e428789590049" ) UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "80c3b49acd8c039c82b247997e7bc25aa7e8e22cfbfb424362274c2cbbd9c895" + "de084ea8b3f6a3a78f7dcb0eac7ca1e89fce1a2b2bce81de59f9132276e0641a" ) UK_GATE_BATTERY_DEGENERATE_EVIDENCE_SHA256 = ( "f246388de42654dd68dbbb40c42282001b5b0a8bf48976162bcb1199085cb1d3" From b441bb5a0eedb59dd08098e8a91707e031670dcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 13:15:38 +0000 Subject: [PATCH 26/67] =?UTF-8?q?Hold=20the=20SPI=20=C2=A31m-and-over=20in?= =?UTF-8?q?terest=20row=20on=20its=20measured=20distortion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The national built from f3cb3ddd3 fitted every SPI Table 3.7 interest and other-income band but one, the £1m-and-over other-income row included. It missed the £1m-and-over interest amount row outside the uk_target_fit band. By María's ruling of 2026-10-30, the row is held out of the objective as a measured distortion, as the ten HMRC £1m-and-over cells are, and measured on every evaluation. The register entry carries no figures for the band. How the rebase sits in the top bands at design weights is a follow-up. Co-Authored-By: Claude Opus 5.5 --- .../build/uk/calibration_measure_exclusions.json | 9 +++++++++ .../tests/engine_free/uk/test_uk_measure_simulation.py | 9 +++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json b/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json index 19e60dfb8e..9d030b56ce 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json +++ b/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json @@ -171,6 +171,15 @@ "approved_on": "2026-10-23", "expires_on": "2027-01-23" }, + { + "name": "hmrc.spi.savings_interest_income.amount_by_total_income_band.band_1000000", + "reason": "Measured distortion, not thin support, as for the ten HMRC £1m-and-over cells (María's rule of 2026-10-21). With the SPI donors' interest and other income rebased to SPI's 2023-24 bands (microcosm#1428), the first national built from f3cb3ddd3 fitted every other interest and other-income band, the £1m-and-over other-income row included, and missed this row outside the uk_target_fit band. Held out of the objective and measured on every evaluation. The row rests on the SPI Public Use Tape, so its figures and its neighbours' stay out of this register.", + "tracking": "microcosm#1428", + "approved_by": "juaristi22", + "adjudication": "María's ruling of 2026-10-30 on the savings follow-up (microcosm#1428): hold the £1m-and-over savings interest amount row as a measured distortion, rebuild the national on the same spine and score it; how the rebase sits in the top bands at design weights is a follow-up.", + "approved_on": "2026-10-30", + "expires_on": "2027-01-30" + }, { "name": "slc.repayments.england_plan_5", "reason": "Structural under-support: the student-loans stage tops Plan 5 up to SLC's liable stock, which binds, and fewer than ten source households carry Plan 5 repayments on #1333's 2.145.0 spine, so no weights reach SLC's repayment figure; the row's model figures are withheld.", diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_measure_simulation.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_measure_simulation.py index 6d7508a7d1..58ad2d1132 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_measure_simulation.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_measure_simulation.py @@ -602,6 +602,9 @@ def test_exclusion_applier_warns_within_week_of_expiry(): # stage assigns no postgraduate plan) and Plan 5's liable stock binds; the # Plan 5 repayments and the two Plan 2 stocks stay. "_1_000_000_to_inf": 10, + # The SPI Table 3.7 £1m-and-over interest amount row, held on the savings + # follow-up's measured distortion (microcosm#1428, 2026-10-30). + "hmrc.spi.savings_interest_income.amount_by_total_income_band.band_1000000": 1, "slc.": 3, # microcosm#1095 (2026-10-07): two bands whose few supporting awards # policyengine-uk 2.122.2 moves out join the uk-data#452 class. @@ -730,8 +733,10 @@ def test_packaged_exclusions_load(): # electricity row again (María's ruling of 2026-10-28), and holds the ONS # gas row again for bottled gas (María's ruling of 2026-10-29). The # betting and gaming row stays held: the solve cannot yet measure its - # 2024 duty (microcosm#1420). - assert len(names) == len(set(names)) == 39 + # 2024 duty (microcosm#1420). The savings follow-up holds the SPI £1m-and-over + # interest amount row on its measured distortion (microcosm#1428, María's + # ruling of 2026-10-30). + assert len(names) == len(set(names)) == 40 (gas,) = [ entry for entry in exclusions From 4a6dc728f8ac81073c9d9097edd95780b74b10ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 14:44:16 +0000 Subject: [PATCH 27/67] Rebase SPI donor savings on the tape's taxpayers SPI Table 3.7 counts taxpayers only, but the rebase divided its amounts by the tape's amount over all records in each band. In the two lowest bands non-taxpayers hold much of the tape's savings income, so the rebased taxpayers reached only part of the published amounts there. The prepared tape now carries the tape's TAXPAYER flag. Each band's factor is computed over its taxpayers and applied to them; non-taxpayers take the all-bands factor, as donors below the first band already do. A tape without the flag counts every record, and the receipt says which basis it used. Option F of the #1428 other-income investigation. Co-Authored-By: Claude Opus 5.5 --- .../1428-spi-rebase-taxpayers.fixed.md | 1 + .../microcosm/build/uk_runtime/spi_income.py | 28 +++++++++++++++---- .../uk/test_uk_spi_savings_rebase.py | 25 +++++++++++++++++ 3 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 changelog.d/1428-spi-rebase-taxpayers.fixed.md diff --git a/changelog.d/1428-spi-rebase-taxpayers.fixed.md b/changelog.d/1428-spi-rebase-taxpayers.fixed.md new file mode 100644 index 0000000000..10eef9c0e7 --- /dev/null +++ b/changelog.d/1428-spi-rebase-taxpayers.fixed.md @@ -0,0 +1 @@ +The SPI donor savings rebase now computes each band's factor over the tape's taxpayers (TAXPAYER 1), since SPI Table 3.7 counts taxpayers only, and gives non-taxpayers the all-bands factor. Over all records, non-taxpayers' savings income in the two lowest bands left the rebased taxpayers short of the published amounts there (#1428). diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py index e663a4009e..cee909b118 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py @@ -224,6 +224,8 @@ #: Chronicle feed pin), the year they describe, and each rebased column's #: Table 3.7 concept. SPI_SAVINGS_REBASE_RESOURCE = "hmrc_spi_table_3_7_savings_rows.json" +#: The prepared tape's taxpayer flag, the records the rebase factors read. +SPI_DONOR_TAXPAYER_COLUMN = "is_taxpayer" SPI_SAVINGS_REBASE_YEAR = 2023 SPI_SAVINGS_REBASE_CONCEPTS = { "savings_interest_income": "hmrc.spi_savings_interest_income_amount", @@ -1868,10 +1870,11 @@ def rebase_spi_donor_savings( ) -> tuple[pd.DataFrame, dict[str, object]]: """Move the tape's interest and other income to SPI's 2023-24 bands. - Each donor's column is scaled by its band's factor: HMRC's published - 2023-24 amount over the tape's FACT-weighted 2022-23 amount in the same - range of total income, the tape banded by its own total income. A donor - below the first band takes the factor of all bands together. The rebased + Each taxpayer donor's column is scaled by its band's factor: HMRC's + published 2023-24 amount over the tape's FACT-weighted 2022-23 amount for + the taxpayers in the same range of total income, the tape banded by its own + total income, since Table 3.7 counts taxpayers only. A donor below the first + band, or who pays no tax, takes the factor of all bands together. The rebased tape reproduces the published amounts band by band; the OBR's savings income growth then carries both columns to the frame's year (``_spi_income_uprating_factors``). A band the tape carries none of has @@ -1886,13 +1889,21 @@ def rebase_spi_donor_savings( band = ( np.searchsorted(np.asarray(bounds, dtype=np.float64), income, side="right") - 1 ) - banded = band >= 0 + taxpayer = ( + donor[SPI_DONOR_TAXPAYER_COLUMN].to_numpy(dtype=bool) + if SPI_DONOR_TAXPAYER_COLUMN in donor + else np.ones(len(donor), dtype=bool) + ) + banded = (band >= 0) & taxpayer rebased = donor.copy() receipt: dict[str, object] = { "resource": SPI_SAVINGS_REBASE_RESOURCE, "from_period": SPI_DONOR_INCOME_YEAR, "to_period": SPI_SAVINGS_REBASE_YEAR, "band_by": "total_income", + "factors_over": ( + "taxpayers" if SPI_DONOR_TAXPAYER_COLUMN in donor else "all_records" + ), "band_lower_bounds": [int(bound) for bound in bounds], "columns": {}, } @@ -2004,6 +2015,13 @@ def _prepare_spi_donor( # on the prepared tape for the band donors' propensity and band pools; # they are never QRF inputs or outputs. donor["total_income"] = numeric["TI"].to_numpy(dtype=float) + # Table 3.7 counts taxpayers only, so the savings rebase reads the tape's + # TAXPAYER flag (1, a taxpayer); a tape without it counts every record. + donor[SPI_DONOR_TAXPAYER_COLUMN] = ( + pd.to_numeric(raw["TAXPAYER"], errors="coerce").eq(1).to_numpy() + if "TAXPAYER" in raw.columns + else np.ones(len(raw), dtype=bool) + ) donor["is_composite"] = numeric["AGERANGE"].astype(int).eq(-1).to_numpy() # The published age band travels with the record so band pools can match # a carrier's age band; composites (-1) have none and never age-match. diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py index a2f1098f7c..242b44ad6f 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py @@ -183,3 +183,28 @@ def parameters(period): assert unchanged["other_investment_income"] == pytest.approx(1.0) with pytest.raises(ValueError, match="runs forward only"): uk_obr_savings_income_level(2024, 2023) + + +def test_the_factors_read_the_tapes_taxpayers() -> None: + # Table 3.7 counts taxpayers only, so a band's factor is its published + # amount over the tape's taxpayers' amount there; a donor who pays no tax + # takes the factor of all bands together (option F of the microcosm#1428 + # other-income investigation). + donor = _donor() + donor[spi_income.SPI_DONOR_TAXPAYER_COLUMN] = [False, True, False, True, True] + rebased, receipt = rebase_spi_donor_savings(donor, PUBLISHED) + interest = receipt["columns"]["savings_interest_income"] + assert receipt["factors_over"] == "taxpayers" + # The £12,570 band's taxpayers hold 5 x 40 = 200 of the tape's interest + # there: 1,500 over 200. All bands: 6,500 over 2,200. + assert interest["band_factors"]["12570"] == pytest.approx(7.5) + assert rebased.loc[1, "savings_interest_income"] == pytest.approx(40.0 * 7.5) + all_bands = 6_500.0 / 2_200.0 + assert interest["below_first_band_factor"] == pytest.approx(all_bands) + assert rebased.loc[2, "savings_interest_income"] == pytest.approx(60.0 * all_bands) + # The band's taxpayers reproduce its published amount. + weighted = rebased.loc[[1], "savings_interest_income"] * rebased.loc[[1], "FACT"] + assert weighted.sum() == pytest.approx(1_500.0) + # Without the flag every record counts, as before. + _, plain = rebase_spi_donor_savings(_donor(), PUBLISHED) + assert plain["factors_over"] == "all_records" From 092de13b9d348e4c4c497b1b8b4f42c267d90063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 14:44:16 +0000 Subject: [PATCH 28/67] Book FRS savings income on SPI's definitions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two FRS-row mappings disagreed with SPI Table 3.7, so the frame's other income below £100k carried the wrong concept. - NS&I Direct Saver and the other NS&I and bank products move from other_investment_income to savings_interest_income. SPI has counted all interest paid gross or net as bank interest since 2016-17 (note 4). Gilts stay in other income, as interest on securities (note 6). - Income from an annuity not bought with pension funds or from a trust or covenant (FRS PENSION.PENTYPE 4 and 5, the ADULT ANYPEN4 and ANYPEN5 sources) moves from private_pension_income to other_investment_income, the other income Table 3.7 counts (note 6). The FRS records the whole annuity payment, of which only the income element is taxable. Both columns are taxable savings income in policyengine-uk, so the savings tax on these rows does not move. The FRS spine test covers both routes. Options A1 and A2 of the #1428 other-income investigation. Co-Authored-By: Claude Opus 5.5 --- ...28-frs-other-income-definitions.changed.md | 1 + .../microcosm/build/uk_runtime/frs_spine.py | 99 ++++++++++++------- .../tests/engine_free/uk/test_uk_frs_spine.py | 32 ++++-- 3 files changed, 88 insertions(+), 44 deletions(-) create mode 100644 changelog.d/1428-frs-other-income-definitions.changed.md diff --git a/changelog.d/1428-frs-other-income-definitions.changed.md b/changelog.d/1428-frs-other-income-definitions.changed.md new file mode 100644 index 0000000000..e54cc5a90b --- /dev/null +++ b/changelog.d/1428-frs-other-income-definitions.changed.md @@ -0,0 +1 @@ +FRS rows now book savings income on SPI's definitions (#1428). NS&I Direct Saver and the other NS&I and bank products go to `savings_interest_income`, because SPI has counted all interest paid gross or net as bank interest since 2016-17 (Table 3.7 note 4); gilts stay in `other_investment_income`. Income from an annuity not bought with pension funds or from a trust or covenant (FRS PENTYPE 4 and 5) moves from `private_pension_income` to `other_investment_income`, the "other income" Table 3.7 counts (note 6). The FRS records the whole annuity payment, of which only the income element is taxable. diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/frs_spine.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/frs_spine.py index 1af0349e8f..f2d2268434 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/frs_spine.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/frs_spine.py @@ -612,8 +612,13 @@ def _assemble_frame( # tape's into both inputs (microcosm#1095). pe_person["loss_relief"] = 0.0 pe_person["ni_class_4_losses_brought_forward"] = 0.0 - _add_private_pension(pe_person, person, frs["pension"]) + pension_savings_income = _add_private_pension(pe_person, person, frs["pension"]) _add_accounts(pe_person, person, frs["accounts"]) + # Income from a purchased annuity or a trust (PENTYPE 4 and 5) is savings + # income SPI Table 3.7 counts as other income, not pension (microcosm#1428). + pe_person["other_investment_income"] = ( + pe_person["other_investment_income"] + pension_savings_income + ) owner_managers = frs_owner_manager_inputs(person, frs["job"]) for column in OWNER_MANAGER_COLUMNS: pe_person[column] = owner_managers[column].to_numpy() @@ -711,57 +716,75 @@ def _assemble_frame( ) +#: FRS PENSION.PENTYPE codes whose income is savings income, not pension: +#: an annuity not bought with pension funds (4) and a trust or covenant (5), +#: the ADULT ANYPEN4 and ANYPEN5 sources. SPI Table 3.7 counts trust income +#: and the purchased-annuity income SA101 returns as other income (note 6), +#: so both go to other_investment_income (microcosm#1428). The FRS records +#: the whole annuity payment, of which only the income element is taxable. +FRS_SAVINGS_INCOME_PENSION_TYPES = (4, 5) + + def _add_private_pension( pe_person: pd.DataFrame, person: pd.DataFrame, pension: pd.DataFrame -) -> None: - pension_payment = _sum_to_entity( - _number(pension, "penpay") * (_number(pension, "penpay") > 0), - pension.get("person_id", pd.Series(dtype="float64")), - person["person_id"], - ) - pension_tax_paid = _sum_to_entity( - _number(pension, "ptamt") - * ((_number(pension, "ptinc") == 2) & (_number(pension, "ptamt") > 0)), - pension.get("person_id", pd.Series(dtype="float64")), - person["person_id"], - ) - pension_deductions_removed = _sum_to_entity( - _number(pension, "poamt") +) -> pd.Series: + """Write private pension income; return the PENSION rows' savings income. + + Each row's gross weekly amount is the payment, any tax paid at source and + any deductions taken out. Rows of FRS_SAVINGS_INCOME_PENSION_TYPES are the + returned savings income, annual, by person; every other row is pension. + """ + + penpay = _number(pension, "penpay") + ptamt = _number(pension, "ptamt") + poamt = _number(pension, "poamt") + gross = ( + penpay * (penpay > 0) + + ptamt * ((_number(pension, "ptinc") == 2) & (ptamt > 0)) + + poamt * ( ((_number(pension, "poinc") == 2) | (_number(pension, "penoth") == 1)) - & (_number(pension, "poamt") > 0) - ), - pension.get("person_id", pd.Series(dtype="float64")), - person["person_id"], + & (poamt > 0) + ) ) + savings = _number(pension, "pentype").isin(FRS_SAVINGS_INCOME_PENSION_TYPES) + person_ids = pension.get("person_id", pd.Series(dtype="float64")) pe_person["private_pension_income"] = ( - pension_payment + pension_tax_paid + pension_deductions_removed - ) * WEEKS_IN_YEAR + _sum_to_entity(gross * ~savings, person_ids, person["person_id"]) + * WEEKS_IN_YEAR + ) + return ( + _sum_to_entity(gross * savings, person_ids, person["person_id"]) * WEEKS_IN_YEAR + ) #: FRS ACCOUNTS.ACCOUNT codes (FRS 2024-25 variable listing, SN 9563) by the #: input their weekly interest (ACCINT) lands in (microcosm#1418). ISAs (21) #: are tax-free, kept apart in tax_free_savings_income inside gross interest. FRS_ISA_ACCOUNT = 21 -#: Deposit interest, savings_interest_income: current (1), NS&I investment -#: (3), savings and investment (5), fixed-rate, guaranteed income and -#: guaranteed growth bond (25; no interest recorded on FRS 2024-25), basic -#: (27) and credit union (28) accounts. -FRS_DEPOSIT_INTEREST_ACCOUNTS = (1, 3, 5, 25, 27, 28) +#: Deposit interest, savings_interest_income: current (1), NS&I Direct Saver +#: (2), NS&I investment (3), savings and investment (5), National Savings +#: capital (10), Pensioners Guaranteed (13), income (16) and deposit (17) +#: bonds, First Option (18), fixed-rate, guaranteed income and guaranteed +#: growth (25) and guaranteed equity (26) bonds, basic (27) and credit union +#: (28) accounts. SPI has counted all interest paid gross or net, NS&I's +#: taxable products included, as interest from banks and building societies +#: since 2016-17 (Table 3.7 note 4), so the NS&I products sit here, not in +#: other income (microcosm#1428; PR A routed them to other income). On FRS +#: 2024-25 codes 16, 25 and 26 record no interest, and 10, 13, 17 and 18 do +#: not occur. +FRS_DEPOSIT_INTEREST_ACCOUNTS = (1, 2, 3, 5, 10, 13, 16, 17, 18, 25, 26, 27, 28) #: Other interest, other_investment_income, which policyengine-uk taxes as #: savings income beside deposit interest (taxable_savings_interest_income): -#: NS&I Direct Saver (2), gilts (6, booked as dividends before), National -#: Savings capital (10), income (16) and deposit (17) bonds, Pensioners -#: Guaranteed (13), First Option (18) and guaranteed equity (26) bonds. The -#: tax-free products stay out: National Savings certificates (11, 12), SAYE -#: (14), Premium Bonds (15), the Yearly Plan (19) and friendly society -#: investments (31). On FRS 2024-25 only the NS&I Direct Saver and gilts carry -#: interest in this group: codes 16 and 26 record none, and 10, 13, 17 and 18 -#: do not occur. Of the codes no list maps, only a share club (24) records -#: interest on FRS 2024-25: the club's returns are on shares, so they are out -#: of scope as interest; profit sharing (22), company share option plans (23), -#: an endowment policy not linked (29) and informal assets (32) record none. -FRS_OTHER_INTEREST_ACCOUNTS = (2, 6, 10, 13, 16, 17, 18, 26) +#: gilts (6, booked as dividends before microcosm#1418), the interest on +#: securities SPI counts as other income (Table 3.7 note 6). The tax-free +#: products stay out: National Savings certificates (11, 12), SAYE (14), +#: Premium Bonds (15), the Yearly Plan (19) and friendly society investments +#: (31). Of the codes no list maps, only a share club (24) records interest on +#: FRS 2024-25: the club's returns are on shares, so they are out of scope as +#: interest; profit sharing (22), company share option plans (23), an +#: endowment policy not linked (29) and informal assets (32) record none. +FRS_OTHER_INTEREST_ACCOUNTS = (6,) #: Dividends: unit and investment trusts (7) and stocks, shares and bonds (8). FRS_DIVIDEND_ACCOUNTS = (7, 8) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py index 96658862f4..1044244565 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py @@ -393,13 +393,28 @@ def _fixture_tables() -> dict[str, list[dict[str, object]]]: "SERNUM": 1, "BENUNIT": 1, "PERSON": 1, + "PENTYPE": 1, "PENPAY": 10.0, "PTAMT": 2.0, "PTINC": 2, "POAMT": 3.0, "POINC": 2, "PENOTH": 0, - } + }, + # Income from a trust (PENTYPE 5) is savings income SPI counts as + # other income, not pension (microcosm#1428). + { + "SERNUM": 2, + "BENUNIT": 1, + "PERSON": 1, + "PENTYPE": 5, + "PENPAY": 6.0, + "PTAMT": 0.0, + "PTINC": 0, + "POAMT": 0.0, + "POINC": 0, + "PENOTH": 0, + }, ], "oddjob": [{"SERNUM": 1, "BENUNIT": 1, "PERSON": 1, "OJAMT": 4.0, "OJNOW": 1}], "accounts": [ @@ -430,8 +445,9 @@ def _fixture_tables() -> dict[str, list[dict[str, object]]]: "ACCTAX": 0, "INVTAX": 0, }, - # Other interest (microcosm#1418): an NS&I Direct Saver paid after - # tax and a gilt paid after tax, both grossed up at the basic rate. + # An NS&I Direct Saver paid after tax, deposit interest since + # microcosm#1428 (SPI Table 3.7 note 4), and a gilt paid after tax, + # other interest (microcosm#1418), both grossed up at the basic rate. { "SERNUM": 1, "BENUNIT": 1, @@ -1244,11 +1260,15 @@ def test_direct_person_mapping_values_are_ported(tmp_path: Path) -> None: assert adult["trading_loss"] == 0.0 assert adult["private_pension_income"] == pytest.approx(15 * WEEKS_IN_YEAR) assert adult["tax_free_savings_income"] == pytest.approx(1 * WEEKS_IN_YEAR) - assert adult["savings_interest_income"] == pytest.approx(3.5 * WEEKS_IN_YEAR) + # The ISA (1), the current account (2 x 1.25) and the NS&I Direct Saver + # (2 x 1.25), deposit interest since microcosm#1428. + assert adult["savings_interest_income"] == pytest.approx(6.0 * WEEKS_IN_YEAR) # The gilt is other interest, no longer a dividend (microcosm#1418). assert adult["dividend_income"] == pytest.approx(3 * WEEKS_IN_YEAR) - assert adult["other_investment_income"] == pytest.approx(7.5 * WEEKS_IN_YEAR) - assert other["other_investment_income"] == 0.0 + assert adult["other_investment_income"] == pytest.approx(5.0 * WEEKS_IN_YEAR) + # Household 2's trust income is other income, not pension (microcosm#1428). + assert other["other_investment_income"] == pytest.approx(6.0 * WEEKS_IN_YEAR) + assert other["private_pension_income"] == 0.0 # ROYYR1 2 only: CVPAY (1 a week) is rent the adult pays as a lodger # (rent_paid_as_lodger, pe-uk#2006), not their own income, and household 1 # does not sub-let. From b8224744331a61c7b6771edacd50a0eaf47aafcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 14:44:16 +0000 Subject: [PATCH 29/67] Locate SPI copies' other-income draw at the twin's other income Other income was the one investment leaf of the SPI stage-1 transport with no FRS analogue. Its quantile came from an identity uniform keyed on the twin, which ignored the twin's holdings. Copies drew large amounts on modest incomes, and the draw was out of line with the rest of each copy's income. The analogue map now names the twin's own other_investment_income: gilts, trust income and purchased-annuity income, the FRS sources of SPI's other income after the previous commit. A copy's draw now ranks with its twin's holdings, as interest, dividends, pensions and property do. The stage spec's analogue_columns (sources.yaml and source_stages.json) and the release input coverage manifest that pins the spec follow, and the spine test's synthetic frame carries the column, as the FRS spine always writes it. Option C of the #1428 other-income investigation. Co-Authored-By: Claude Opus 5.5 --- .../1428-spi-other-income-analogue.changed.md | 1 + .../uk/release_input_coverage_manifest.json | 44 +++++++++---------- .../src/microcosm/build/uk/source_stages.json | 2 +- .../src/microcosm/build/uk/spec/sources.yaml | 2 +- .../build/uk_runtime/spi_rank_transport.py | 6 ++- .../tests/engine_free/uk/test_uk_spi_spine.py | 2 + 6 files changed, 32 insertions(+), 25 deletions(-) create mode 100644 changelog.d/1428-spi-other-income-analogue.changed.md diff --git a/changelog.d/1428-spi-other-income-analogue.changed.md b/changelog.d/1428-spi-other-income-analogue.changed.md new file mode 100644 index 0000000000..da33d7b332 --- /dev/null +++ b/changelog.d/1428-spi-other-income-analogue.changed.md @@ -0,0 +1 @@ +The SPI stage-1 transport now locates each copy's other-income draw at its FRS twin's own other income (gilts, trust and purchased-annuity income), as it does for the other investment leaves, instead of an identity uniform that ignored the twin's holdings (#1428). diff --git a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json index 387a9091f3..24c461e900 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json +++ b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json @@ -470,7 +470,7 @@ "required_mass_change_reason": "Capital-gains incidence anchor moves the mass of non-liable clone households back to their paired originals until the sub-exempt and loss-making clone mass match the Advani-Summers reporter composition at the redrawn liable mass; every pair's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "Advani and Summers (2020), Capital Gains and UK Inequality, CAGE Working Paper 465", "survey": "Family Resources Survey 2024-25, SPI synthetic support, the HMRC Table 3 redrawn gains on the spine and Advani-Summers capital-gains incidence" @@ -493,7 +493,7 @@ "capital_gains" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "Advani and Summers (2020), Capital Gains and UK Inequality, CAGE Working Paper 465", "survey": "Family Resources Survey 2024-25, SPI synthetic support, and Advani-Summers capital-gains incidence" @@ -516,7 +516,7 @@ "required_mass_change_reason": "Capital-gains residential split divides every household carrying liable gainers into arms weighted by the solved residential probabilities, one arm per subset of residential gainers; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "https://www.gov.uk/government/statistics/capital-gains-tax-statistics", "survey": "HMRC Capital Gains Tax statistics 2026 release, Table 8 (UK residential property disposals, 2024-25, administrative) on the amounts the Table 3 redraw placed" @@ -538,7 +538,7 @@ "required_mass_change_reason": "Capital-gains support split divides the wealthiest households of each HMRC Table 3 income band into light copies at equal weight; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "HMRC Capital Gains Tax statistics, July 2026 release, Table 3 for 2024-25, via the vendored conditioning facts", "survey": "Family Resources Survey 2024-25, SPI synthetic support and HMRC Capital Gains Tax statistics Table 3 (2024-25 individuals by size of gain and taxable income)" @@ -567,7 +567,7 @@ "required_mass_change_reason": "ETB public-services imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "UK Data Service SN 8856 Effects of Taxes and Benefits household tab, DfT rail fare index, and public NHS activity/cost table.", "survey": "Effects of Taxes and Benefits 1977-2024 and NHS age-gender public table" @@ -587,7 +587,7 @@ "required_mass_change_reason": "ETB VAT expenditure-rate imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "UK Data Service SN 8856 Effects of Taxes and Benefits household tab and cited VAT anchor resource.", "survey": "Effects of Taxes and Benefits 1977-2024" @@ -609,7 +609,7 @@ "required_mass_change_reason": "High-value home support divides every owner household in the top value stratum of its region into light copies at equal weight; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "Microcosm structural operator (microcosm#1240 fix 1); no publisher input", "survey": "Family Resources Survey 2024-25 and SPI synthetic support, after the WAS wealth draw and the regional property uprating" @@ -630,7 +630,7 @@ "required_mass_change_reason": "CGT asset-type assignment on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "https://www.gov.uk/government/statistics/capital-gains-tax-statistics", "survey": "HMRC Capital Gains Tax statistics 2026 release, Table 8 (UK residential property disposals, 2024-25, administrative), Table 4.1 (individuals claiming Business Asset Disposal Relief or Investors' Relief by band of qualifying gain, 2024-25, administrative) and Table 7 (disposals, proceeds and gains by asset type, 2023-24, sample-based), vendored from the pinned Chronicle feed" @@ -654,7 +654,7 @@ "capital_gains" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "conditioning_resource": "hmrc_cgt_conditioning_facts.json", "conditioning_resource_sha256": "f7425784231e1f6aa657d0f26fc02591d9523600eb12fce5d35becf5dabf7569", @@ -744,7 +744,7 @@ "full_frs_tei_band_unavailable" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "hmrc_surface": "2023-24", "mapped_build_period": "2024", @@ -812,7 +812,7 @@ "required_mass_change_reason": "LCFS consumption imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "UK Data Service SN 9603 Living Costs and Food Survey 2024-25 (2nd edition) household/person tabs and the vendored Chronicle facts for NEED 2024 mean kWh, DESNZ Energy Trends and QEP average prices paid for calendar 2024, road-fuel outturn (DESNZ, HMRC, ONS Consumer Trends) and road fuel by vehicle type (DESNZ), ONS Consumer Trends household spending by COICOP division, the DfT VEH1103 licensed-car stock, NTS bus use, and the DfT and devolved bus finance tables and fares indices.", "survey": "Living Costs and Food Survey 2024-25" @@ -838,7 +838,7 @@ "required_mass_change_reason": "NTS bus-travel imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "Department for Transport National Travel Survey, UK Data Service SN 5340 (End User Licence, 19th edition, November 2025), DOI 10.5255/UKDA-SN-5340-19; local licensed tab files (household, individual, trip); England residents only from 2013.", "survey": "National Travel Survey 2002-2024" @@ -858,7 +858,7 @@ "required_mass_change_reason": "Private-school attendance stored on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "policyengine-uk attends_private_school (the gov.simulation.private_school_vat attendance rates and factor), evaluated by the pinned engine", "survey": "policyengine-uk private-school attendance imputation, stored at the spine's weights" @@ -881,7 +881,7 @@ "property_finance_costs" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "https://www.gov.uk/government/statistics/property-rental-income-statistics", "survey": "Survey of Personal Incomes Public Use Tape 2022-23 and HMRC Property Rental Income Statistics 2026 (tax year 2024-25)" @@ -902,7 +902,7 @@ "required_mass_change_reason": "Annual property purchases imputed on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "https://www.gov.uk/government/statistics/uk-stamp-tax-statistics", "survey": "HMRC Annual Stamp Tax Statistics 2024 to 2025 (corrected 11 March 2026), Tables 6b, 8a and 8b" @@ -925,7 +925,7 @@ "property_wealth" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "uk/high_value_home_value_knots.json, built by tools/build_uk_high_value_home_stock.py from PolicyEngine/chronicle#343's registrations", "survey": "HM Land Registry Price Paid latest sales uprated with the UK House Price Index, owner-weighted by region (the dense value node's knots, region level)" @@ -949,7 +949,7 @@ "non_residential_property_value" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "MHCLG dwellings and the UK House Price Index regional average price averaged over the twelve months of calendar 2024 from the July 2026 full file, the frame's valuation basis, so the engine's annual uprating from 2024 projects the value once (microcosm#1240 fix 5).", "survey": "Public regional property reference" @@ -977,7 +977,7 @@ "employment_income" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "HMRC, Salary sacrifice reform for pension contributions effective from 6 April 2029", "survey": "Family Resources Survey 2024-25 salary-sacrifice respondents and HMRC salary-sacrifice reform analysis" @@ -1010,7 +1010,7 @@ "household_source_id" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "Reserved SPI support households for the HMRC Table 2.5 total-income bands from GBP 200,000, stacked at the published band taxpayer count over the donors per band (PolicyEngine/chronicle#280 lane).", "survey": "Survey of Personal Incomes Public Use Tape 2022-23 and HMRC Income Tax liabilities statistics July 2026 Table 2.5" @@ -1032,7 +1032,7 @@ "student_loan_plan" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "Explore Education Statistics Table 6a, Higher education total", "survey": "Family Resources Survey 2024-25 and Student Loans Company borrower forecasts for England" @@ -1054,7 +1054,7 @@ "required_mass_change_reason": "WAS Lifetime ISA imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed round-8 person and household tabs (interviews April 2020 to March 2022, Great Britain).", "survey": "Wealth and Assets Survey round 8" @@ -1093,7 +1093,7 @@ "required_mass_change_reason": "WAS wealth imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "97b6209310001fb63d04a8bc601a0235d85f0deaec098fc18b6746ed65e26a81", + "source_manifest_sha256": "e5e467f7ef5c3c15f091ad972fdf7e8a454a4a93656c61b9bd34f1a90ba6fff0", "source_vintages": { "source": "Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed 2006-22 household tab.", "survey": "Wealth and Assets Survey round 8" diff --git a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json index 6153d9dfa7..9025a316ca 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json @@ -1954,7 +1954,7 @@ "dividend_income": "dividend_income", "private_pension_income": "private_pension_income", "property_income": "property_income", - "other_investment_income": null, + "other_investment_income": "other_investment_income", "gift_aid": null, "charitable_investment_gifts": null, "hmrc_spi_pay": "hmrc_spi_pay", diff --git a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml index 3598d6afa0..a92ae03bbc 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml +++ b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml @@ -1690,7 +1690,7 @@ stages: dividend_income: dividend_income private_pension_income: private_pension_income property_income: property_income - other_investment_income: null + other_investment_income: other_investment_income gift_aid: null charitable_investment_gifts: null hmrc_spi_pay: hmrc_spi_pay diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_rank_transport.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_rank_transport.py index d11eb52133..9833c85457 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_rank_transport.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_rank_transport.py @@ -116,7 +116,11 @@ "dividend_income": "dividend_income", "private_pension_income": "private_pension_income", "property_income": "property_income", - "other_investment_income": None, + # The twin's own other income locates the draw (microcosm#1428): gilts, + # trust income and purchased-annuity income, the FRS sources of SPI's other + # income, so a copy's OTHERINV draw ranks with its twin's holdings instead + # of an identity uniform that ignores them. + "other_investment_income": "other_investment_income", "gift_aid": None, "charitable_investment_gifts": None, SPI_HMRC_PAY_COLUMN: FRS_HMRC_PAY_COLUMN, diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_spine.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_spine.py index c137c57ef7..1abec55db3 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_spine.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_spine.py @@ -62,6 +62,8 @@ def _base_frame(*, time_period: str = "2023") -> object: "dividend_income": [20.0, 10.0], "private_pension_income": [0.0, 0.0], "property_income": [0.0, 0.0], + # The twin's other income locates the copy's draw (microcosm#1428). + "other_investment_income": [0.0, 0.0], "employee_pension_contributions": [3.0, 2.0], "employer_pension_contributions": [9.0, 6.0], "hmrc_spi_pay": [0.0, 0.0], From 995969f0288154eadd743e2102970ca0ec9767c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 15:46:29 +0000 Subject: [PATCH 30/67] Leave the savings rebase off tapes whose weights don't gross The band factors divide published amounts by the tape's FACT-weighted amounts, so they assume the tape grosses to the taxpayer population. The H2 spine fixture's synthetic tape doesn't: its factors ran to millions, lifted its band donors' income out of their bands, and the fixture's regeneration refused ("no record whose uprated total income lies in the band from 200000"). CI's acceptance and staging smoke tests would meet the same refusal. Now a column whose banded tape amount, over the bands it carries, is under a tenth of the published amount is left as it is, and the receipt says so. The production tape holds about 0.37 of the published interest and 0.6 of the other income. A test covers the skip. Co-Authored-By: Claude Opus 5.5 --- .../microcosm/build/uk_runtime/spi_income.py | 22 +++++++++++++++++-- .../uk/test_uk_spi_savings_rebase.py | 11 ++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py index 5013a24ed5..4e2b849572 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py @@ -230,6 +230,12 @@ SPI_SAVINGS_REBASE_RESOURCE = "hmrc_spi_table_3_7_savings_rows.json" #: The prepared tape's taxpayer flag, the records the rebase factors read. SPI_DONOR_TAXPAYER_COLUMN = "is_taxpayer" +#: The band factors assume the tape's FACT weights gross to the taxpayer +#: population. A column whose banded tape amount is under this share of the +#: published amount does not (a synthetic tape, whose factors would run to +#: millions), and is left as it is. The production tape holds about 0.37 of +#: the published interest and 0.6 of the other income. +SPI_SAVINGS_REBASE_MINIMUM_GROSSING = 0.1 SPI_SAVINGS_REBASE_YEAR = 2023 SPI_SAVINGS_REBASE_CONCEPTS = { "savings_interest_income": "hmrc.spi_savings_interest_income_amount", @@ -1895,8 +1901,10 @@ def rebase_spi_donor_savings( income growth then carries both columns to the frame's year (``_spi_income_uprating_factors``). A band the tape carries none of has nothing to scale and is left as it is, named in the receipt: the - production tape carries every band, a synthetic one need not. The receipt - carries the factors only. + production tape carries every band, a synthetic one need not. A column + whose tape does not gross to the population (under + SPI_SAVINGS_REBASE_MINIMUM_GROSSING of the published amount) is left as it + is, and the receipt says so. The receipt carries the factors only. """ bounds = sorted(next(iter(published.values()))) @@ -1930,6 +1938,16 @@ def rebase_spi_donor_savings( ) target = np.asarray([float(by_bound[bound]) for bound in bounds]) carried = tape > 0.0 + # Over the bands the tape carries; an empty band is left as it is. + if ( + tape[carried].sum() + < SPI_SAVINGS_REBASE_MINIMUM_GROSSING * target[carried].sum() + ): + receipt["columns"][column] = { + "concept": SPI_SAVINGS_REBASE_CONCEPTS[column], + "skipped": "the tape's weights do not gross to the published amounts", + } + continue factors = np.where(carried, target / np.where(carried, tape, 1.0), 1.0) all_bands = ( float(target[carried].sum() / tape[carried].sum()) if carried.any() else 1.0 diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py index 242b44ad6f..8e01545f14 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py @@ -208,3 +208,14 @@ def test_the_factors_read_the_tapes_taxpayers() -> None: # Without the flag every record counts, as before. _, plain = rebase_spi_donor_savings(_donor(), PUBLISHED) assert plain["factors_over"] == "all_records" + + +def test_a_tape_that_does_not_gross_to_the_population_is_left_as_it_is() -> None: + # A synthetic tape's weights do not gross to the published amounts, and its + # factors would run to millions; the rebase leaves such a column as it is. + donor = _donor() + donor["FACT"] = donor["FACT"] / 1e6 + rebased, receipt = rebase_spi_donor_savings(donor, PUBLISHED) + for column in PUBLISHED: + assert "skipped" in receipt["columns"][column] + pd.testing.assert_series_equal(rebased[column], donor[column]) From e5ac7a5d81ca85513b6968e5e5a44fb8402a059b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 15:46:29 +0000 Subject: [PATCH 31/67] Regenerate the H2 spine fixture for the other-income analogue CI's engine-uk graph test and integration-uk smoke test refused the SPI income stage: the fixture's stage-spec snapshot still named no analogue for other_investment_income, against the reviewed map (C in b82247443). tools/graph_uk_spine_fixture.py regenerates it on the merged tree: - fixture.json carries the new analogue entry; - the fixture's derived CGT and property fact sources follow the synthetic frame they're built from; - uk_spine.json's pin follows. Co-Authored-By: Claude Opus 5.5 --- .../sources/cgt_asset_type_facts.json | 56 +++++++++---------- .../parity/uk_spine/sources/fixture.json | 2 +- .../sources/property_rental_facts.json | 26 ++++----- .../fixtures/parity/uk_spine/uk_spine.json | 2 +- 4 files changed, 43 insertions(+), 43 deletions(-) diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/cgt_asset_type_facts.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/cgt_asset_type_facts.json index 40bf20145e..7b8692e736 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/cgt_asset_type_facts.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/cgt_asset_type_facts.json @@ -2,70 +2,70 @@ "resource": "synthetic-cgt-asset-type.json", "resource_sha256": "synthetic", "source_commit": "synthetic", - "table4_all_gains": 6472476.363235764, + "table4_all_gains": 6537217.9138617115, "table4_all_tax": 0.0, - "table4_all_taxpayers": 15.64584768489452, + "table4_all_taxpayers": 15.639298233942167, "table4_bands": [ { - "gains": 6343.7876538201135, + "gains": 6001.797187846176, "lower_bound": 0, "tax": null, - "taxpayers": 1.4508598323557498, + "taxpayers": 1.3616054229369756, "upper_bound": 10000 }, { - "gains": 31485.760340906432, + "gains": 25136.571750228803, "lower_bound": 10000, "tax": null, - "taxpayers": 1.9244306390596129, + "taxpayers": 1.53256883202459, "upper_bound": 25000 }, { - "gains": 63324.14855305699, + "gains": 83435.91898678923, "lower_bound": 25000, "tax": null, - "taxpayers": 1.7239151594793525, + "taxpayers": 2.3018849031280015, "upper_bound": 50000 }, { - "gains": 140800.40954871886, + "gains": 130450.89739194364, "lower_bound": 50000, "tax": null, - "taxpayers": 2.0175072572478596, + "taxpayers": 1.8761026572186568, "upper_bound": 100000 }, { - "gains": 155344.30651445186, + "gains": 147092.18965477377, "lower_bound": 100000, "tax": null, - "taxpayers": 0.9869230277893157, + "taxpayers": 0.9364610563359856, "upper_bound": 250000 }, { - "gains": 630694.061491824, + "gains": 631035.2756424223, "lower_bound": 250000, "tax": null, - "taxpayers": 1.7500749317552278, + "taxpayers": 1.7510162468271642, "upper_bound": 500000 }, { - "gains": 790243.0554791468, + "gains": 833292.512966157, "lower_bound": 500000, "tax": null, - "taxpayers": 1.1378960035535624, + "taxpayers": 1.1988863651892423, "upper_bound": 1000000 }, { - "gains": 4654240.833653839, + "gains": 4680772.750281551, "lower_bound": 1000000, "tax": null, - "taxpayers": 4.654240833653839, + "taxpayers": 4.680772750281551, "upper_bound": null } ], - "table4_individuals_gains": 6472476.363235764, + "table4_individuals_gains": 6537217.9138617115, "table4_individuals_tax": 0.0, - "table4_individuals_taxpayers": 15.64584768489452, + "table4_individuals_taxpayers": 15.639298233942167, "table4_trusts_gains": 0.0, "table4_trusts_tax": 0.0, "table7_total_disposals": 2743095.2380952383, @@ -114,12 +114,12 @@ "proceeds": 9000000000.0 } ], - "table8a_disposals_total": 29.50359849151538, - "table8a_gains_total": 36909134.810149446, - "table8a_tax_total": 7381826.962029889, - "table8a_taxpayers_total": 26.82145317410489, - "table8b_all_gains": 36909134.810149446, - "table8b_all_taxpayers": 26.82145317410489, - "table8b_individuals_gains": 36909134.810149446, - "table8b_individuals_taxpayers": 26.82145317410489 + "table8a_disposals_total": 29.49124809829094, + "table8a_gains_total": 37198541.4845692, + "table8a_tax_total": 7439708.29691384, + "table8a_taxpayers_total": 26.810225543900852, + "table8b_all_gains": 37198541.4845692, + "table8b_all_taxpayers": 26.810225543900852, + "table8b_individuals_gains": 37198541.4845692, + "table8b_individuals_taxpayers": 26.810225543900852 } diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json index 80ecf64e5f..b1f403b99c 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json @@ -3264,7 +3264,7 @@ "hmrc_spi_state_pension_income": "srp_regular_code5", "hmrc_spi_taxable_termination_pay": null, "hmrc_spi_unemployment_benefit_income": "hmrc_spi_unemployment_benefit_income", - "other_investment_income": null, + "other_investment_income": "other_investment_income", "private_pension_income": "private_pension_income", "property_finance_costs": null, "property_income": "property_income", diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/property_rental_facts.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/property_rental_facts.json index 34ab284d89..4a475594a0 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/property_rental_facts.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/property_rental_facts.json @@ -9,18 +9,18 @@ "services_including_wages": 68.27759643273899 }, "expenses": { - "all": 32716.81002019269, - "individual": 32389.64191999076, - "partnership": 327.1681002019286 + "all": 32693.389896514316, + "individual": 32366.455997549172, + "partnership": 326.9338989651442 }, "expenses_by_type": { - "legal_management_and_professional_fees": 3916.602293064794, - "non_residential_finance_costs": 1252.1829446577347, - "other_allowable_expenses": 4312.028486114605, - "rent_rates_and_insurance": 3587.080465523285, - "repairs_and_maintenance": 6034.956898688782, - "residential_finance_costs": 12069.913797377563, - "services_including_wages": 1544.0451347659284 + "legal_management_and_professional_fees": 3913.7986178273254, + "non_residential_finance_costs": 1251.286577334217, + "other_allowable_expenses": 4308.941747511815, + "rent_rates_and_insurance": 3584.512676423584, + "repairs_and_maintenance": 6030.636812565662, + "residential_finance_costs": 12061.273625131324, + "services_including_wages": 1542.939839720388 }, "landlords": { "all": 136.55519286547798, @@ -28,9 +28,9 @@ "partnership": 1.3655519286547815 }, "receipts": { - "all": 52346.8960323083, - "individual": 51823.42707198522, - "partnership": 523.46896032308 + "all": 52309.42383442291, + "individual": 51786.32959607868, + "partnership": 523.0942383442307 }, "receipts_bands": [ { diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json index 7b0a6001c7..10a87b807e 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json @@ -1 +1 @@ -{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"7800edee6e23931f4ef0187b0885c33863ba76228b69b54aae3405054202fe09","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"fdf572b7d163a1c14a8351e821087437ccc4b228434d72e640e94dc9151bbc90","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} +{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"fdf572b7d163a1c14a8351e821087437ccc4b228434d72e640e94dc9151bbc90","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} From 53ad299349dc3d07ed49c536cef8f9ac2b977689 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 16:49:10 +0000 Subject: [PATCH 32/67] Zero a missing self-analogue output before the SPI transport CI's engine test test_spi_stage2_does_not_require_frs_other_investment_income runs the SPI income stage on a frame whose FRS rows carry no other_investment_income. The stage fills that output with the stage-time zero, but only after the stage-1 draw. Since b82247443 the transport reads the column as the twin's own analogue before the draw, so the stage refused the frame. Now a stage-1 output that is its own analogue and that the frame doesn't carry gets the same zero before the transport. Every twin locates as a non-carrier, and the final values are unchanged. Production FRS frames always write the column. Co-Authored-By: Claude Opus 5.5 --- .../src/microcosm/build/uk_runtime/spi_income.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py index 4e2b849572..bd263d5aa6 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py @@ -1004,6 +1004,13 @@ def impute_uk_spi_income_support( columns=initialize_frs_channel_columns, ) person = _seed_frs_hmrc_auxiliary_leaves(person, spi_people=spi_people) + # The stage-1 transport reads each twin's analogue. A stage-1 output that is + # its own analogue and that the frame does not carry (other income, on a + # frame whose FRS rows hold none) is the stage-time zero the fill below + # writes, on every row, so the twins locate as non-carriers (microcosm#1428). + for column in SPI_INCOME_QRF_OUTPUT_COLUMNS: + if SPI_STAGE1_ANALOGUE_COLUMNS.get(column) == column and column not in person: + person[column] = 0.0 base_household = household[household_channel] == BASE_FRS_SUPPORT_CHANNEL if "clone_index" in household: From 45c2888faba5a4790ff6388520bd8daf4f5cc86c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 17:46:02 +0000 Subject: [PATCH 33/67] Regenerate the H2 spine fixture on policyengine-uk 2.164.2 e5ac7a5d8 built the fixture in a local environment still on policyengine-uk 2.162.14. The lock has pinned 2.164.2 since the merge of main (9ee6fbde0), so CI's engine-uk graph test found the stamped engine version differ from the graph it builds. Rebuilt with the environment synced to the lock: the graph's version stamp moves, and so do the fixture's synthetic property rental facts, which the engine uprates. Co-Authored-By: Claude Opus 5.5 --- .../sources/property_rental_facts.json | 26 +++++++++---------- .../fixtures/parity/uk_spine/uk_spine.json | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/property_rental_facts.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/property_rental_facts.json index 4a475594a0..34ab284d89 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/property_rental_facts.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/property_rental_facts.json @@ -9,18 +9,18 @@ "services_including_wages": 68.27759643273899 }, "expenses": { - "all": 32693.389896514316, - "individual": 32366.455997549172, - "partnership": 326.9338989651442 + "all": 32716.81002019269, + "individual": 32389.64191999076, + "partnership": 327.1681002019286 }, "expenses_by_type": { - "legal_management_and_professional_fees": 3913.7986178273254, - "non_residential_finance_costs": 1251.286577334217, - "other_allowable_expenses": 4308.941747511815, - "rent_rates_and_insurance": 3584.512676423584, - "repairs_and_maintenance": 6030.636812565662, - "residential_finance_costs": 12061.273625131324, - "services_including_wages": 1542.939839720388 + "legal_management_and_professional_fees": 3916.602293064794, + "non_residential_finance_costs": 1252.1829446577347, + "other_allowable_expenses": 4312.028486114605, + "rent_rates_and_insurance": 3587.080465523285, + "repairs_and_maintenance": 6034.956898688782, + "residential_finance_costs": 12069.913797377563, + "services_including_wages": 1544.0451347659284 }, "landlords": { "all": 136.55519286547798, @@ -28,9 +28,9 @@ "partnership": 1.3655519286547815 }, "receipts": { - "all": 52309.42383442291, - "individual": 51786.32959607868, - "partnership": 523.0942383442307 + "all": 52346.8960323083, + "individual": 51823.42707198522, + "partnership": 523.46896032308 }, "receipts_bands": [ { diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json index 10a87b807e..35b949a3bb 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json @@ -1 +1 @@ -{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"fdf572b7d163a1c14a8351e821087437ccc4b228434d72e640e94dc9151bbc90","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.162.14"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} +{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"fdf572b7d163a1c14a8351e821087437ccc4b228434d72e640e94dc9151bbc90","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} From d563f4fbc99380d51149e3624e312a1c56da13cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Fri, 30 Oct 2026 17:46:02 +0000 Subject: [PATCH 34/67] Bind SPI Table 3.10's employment-income counts by self-employment band MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit María's choice of 2026-10-30 (microcosm#1418, the trading allowance measures). With Table 3.10's self-employment counts alone, the solve can meet each GBP 1 to GBP 10,000 band with traders who have no pay. In the table, more than half of the traders below GBP 3,000 also have employment income, and an employee's side profit is taxed at their marginal rate. - hmrc.spi.employment_income.count_by_self_employment_income_band counts each person with pay over the year (employment_income_annual, which Table 3.6's employment rows read) in their own self-employment band, taxpayer or not, over the same eight bands as the self-employment counts. Table 3.10's column also holds miscellaneous income, benefits in kind and the contributory benefits, which the binding leaves out, as Table 3.6's does. The counts grow to 2025 with HMRC's projected growth of all taxpayers, as the self-employment counts do. - The zero band and the bands from GBP 10,000 are signed out row by row. The target is declared signature-incomplete beside the other Table 3.10 rows and is unmapped in the registry parity (no uk-data metric). - The national references and membership and the national compile-parity receipt are regenerated on the pinned feed (53815b2): eight new rows. The membership's 13 SPI dividend rows and 8 Table 3.10 self-employment amount rows also take the October EFO engine pins that main's policyengine-uk 2.164.2 lock brought (b89d3aab8). The merge left those rows on the 2.162.14 pins. The parity receipt doesn't move for them. Co-Authored-By: Claude Opus 5.5 --- ...mployment-by-self-employment-band.added.md | 1 + .../build/uk/cross_grain_declarations.json | 3 +- ...ity_incumbent_2025_signed_differences.json | 62 ++- .../build/uk/target_reference_membership.json | 408 +++++++++++++++--- .../target_reference_signed_exclusions.json | 84 ++++ .../microcosm/build/uk/target_references.json | 202 +++++++++ .../build/uk/uk_population_targets.json | 52 ++- .../uk/test_uk_population_targets.py | 23 +- .../uk/test_uk_target_references.py | 10 +- 9 files changed, 756 insertions(+), 89 deletions(-) create mode 100644 changelog.d/1428-spi-employment-by-self-employment-band.added.md diff --git a/changelog.d/1428-spi-employment-by-self-employment-band.added.md b/changelog.d/1428-spi-employment-by-self-employment-band.added.md new file mode 100644 index 0000000000..0c0e2b84c8 --- /dev/null +++ b/changelog.d/1428-spi-employment-by-self-employment-band.added.md @@ -0,0 +1 @@ +The national calibration binds SPI 2023-24 Table 3.10's individuals with employment income by self-employment band, `hmrc.spi.employment_income.count_by_self_employment_income_band`, over the eight bands from £1 to £10,000 that the self-employment counts and amounts already bind (#1418; María's choice of 2026-10-30). With the self-employment counts alone, the solve could meet each band with traders who have no pay, while in Table 3.10 more than half of the traders below £3,000 also have employment income; an employee's side profit is taxed at their marginal rate, so the mix of small traders decides what the Budget's trading allowance measures cost. Each person with pay over the year (`employment_income_annual`, the variable Table 3.6's employment rows read) counts in their own self-employment band, taxpayer or not. Table 3.10's column is wider, income assessed under ITEPA 2003 plus other miscellaneous income, so like Table 3.6's employment rows the binding leaves out miscellaneous income, benefits in kind and the contributory benefits. Counts grow to 2025 with HMRC's projected growth of all taxpayers (Income Tax liabilities statistics Table 2.5), as the self-employment counts do, and the zero band and the bands from £10,000 are signed out row by row. diff --git a/packages/microcosm-build/src/microcosm/build/uk/cross_grain_declarations.json b/packages/microcosm-build/src/microcosm/build/uk/cross_grain_declarations.json index d751cd670f..15093a6275 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/cross_grain_declarations.json +++ b/packages/microcosm-build/src/microcosm/build/uk/cross_grain_declarations.json @@ -1074,10 +1074,11 @@ }, { "targets": [ + "hmrc.spi.employment_income.count_by_self_employment_income_band", "hmrc.spi.self_employment_income.amount_by_self_employment_income_band", "hmrc.spi.self_employment_income.count_by_self_employment_income_band" ], - "reason": "Banded by groupby on the person's own self-employment income after loss relief, SPI Table 3.10's range; the band is the fan-out dimension, not a measurement filter, and Table 3.10 counts taxpayers and non-taxpayers alike. Bound from GBP 1 to GBP 10,000 only, the bands above stay with Table 3.6's self-employment rows by total income, so the two tables do not pull against each other (microcosm#1418)." + "reason": "Banded by groupby on the person's own self-employment income after loss relief, SPI Table 3.10's range; the band is the fan-out dimension, not a measurement filter, and Table 3.10 counts taxpayers and non-taxpayers alike; its employment-income count adds the year's pay as a filter over the same bands. Bound from GBP 1 to GBP 10,000 only, the bands above stay with Table 3.6's self-employment rows by total income, so the two tables do not pull against each other (microcosm#1418)." } ] } diff --git a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json index dc1c625441..4e0514dcb2 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json +++ b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json @@ -1,11 +1,11 @@ { - "compiled_count": 1403, + "compiled_count": 1411, "counts_by_kind": { "calibration_drift": 557, "fixture_only": 48, - "ledger_only": 814 + "ledger_only": 822 }, - "difference_count": 1419, + "difference_count": 1427, "differences": [ { "fixture_value": 1608000.0, @@ -2527,6 +2527,62 @@ "period": 2025, "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." }, + { + "kind": "ledger_only", + "ledger_value": 136689.37329700272, + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1000_2000", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, + { + "kind": "ledger_only", + "ledger_value": 72111.7166212534, + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1_500", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, + { + "kind": "ledger_only", + "ledger_value": 110858.310626703, + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_2000_3000", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, + { + "kind": "ledger_only", + "ledger_value": 96866.48501362398, + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_3000_4000", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, + { + "kind": "ledger_only", + "ledger_value": 82874.65940054496, + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_4000_5000", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, + { + "kind": "ledger_only", + "ledger_value": 159291.553133515, + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_5000_7500", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, + { + "kind": "ledger_only", + "ledger_value": 68882.83378746595, + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_500_1000", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, + { + "kind": "ledger_only", + "ledger_value": 121621.25340599455, + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_7500_10000", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, { "kind": "ledger_only", "ledger_value": 617065102.3673128, diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json b/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json index 9d89132b07..469216ffd7 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json @@ -1,13 +1,13 @@ { "source_fact_feed": "chronicle-uk-53815b2-consumer-facts", "target_period": 2025, - "candidate_count": 1437, - "contract_target_count": 394, - "active_reference_count": 1403, + "candidate_count": 1452, + "contract_target_count": 395, + "active_reference_count": 1411, "status_counts": { - "active": 1403, + "active": 1411, "no_fact_at_or_before_period": 4, - "signed_excluded": 30 + "signed_excluded": 37 }, "geography_pins": { "obr.income_tax": { @@ -162,6 +162,10 @@ "geography_level": "country", "geography_id": "K02000001" }, + "hmrc.spi.employment_income.count_by_self_employment_income_band": { + "geography_level": "country", + "geography_id": "K02000001" + }, "hmrc.spi.dividend_income.amount_by_total_income_band": { "geography_level": "country", "geography_id": "K02000001" @@ -5347,7 +5351,7 @@ "from": "2023", "to": "2025", "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "26000000.0" }, { @@ -5355,7 +5359,7 @@ "from": "2023", "to": "2025", "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "339000000.0" }, { @@ -5363,7 +5367,7 @@ "from": "2023", "to": "2025", "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "500000000.0" }, { @@ -5371,7 +5375,7 @@ "from": "2023", "to": "2025", "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "647000000.0" }, { @@ -5379,7 +5383,7 @@ "from": "2023", "to": "2025", "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "780000000.0" }, { @@ -5387,7 +5391,7 @@ "from": "2023", "to": "2025", "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "82000000.0" }, { @@ -5395,7 +5399,7 @@ "from": "2023", "to": "2025", "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "2540000000.0" }, { @@ -5403,15 +5407,79 @@ "from": "2023", "to": "2025", "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "3470000000.0" }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1_500", + "from": "2023", + "to": "2025", + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "67000.0" + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1000_2000", + "from": "2023", + "to": "2025", + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "127000.0" + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_2000_3000", + "from": "2023", + "to": "2025", + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "103000.0" + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_3000_4000", + "from": "2023", + "to": "2025", + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "90000.0" + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_4000_5000", + "from": "2023", + "to": "2025", + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "77000.0" + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_500_1000", + "from": "2023", + "to": "2025", + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "64000.0" + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_5000_7500", + "from": "2023", + "to": "2025", + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "148000.0" + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_7500_10000", + "from": "2023", + "to": "2025", + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "113000.0" + }, { "name": "hmrc/dividend_income_income_band_100_000_to_150_000", "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "6870000000.0" }, { @@ -5419,7 +5487,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "11100000000.0" }, { @@ -5427,7 +5495,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "175000000.0" }, { @@ -5435,7 +5503,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "855000000.0" }, { @@ -5443,7 +5511,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3450000000.0" }, { @@ -5451,7 +5519,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3330000000.0" }, { @@ -5459,7 +5527,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3700000000.0" }, { @@ -5467,7 +5535,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "4700000000.0" }, { @@ -5475,7 +5543,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3430000000.0" }, { @@ -5483,7 +5551,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "8400000000.0" }, { @@ -5491,7 +5559,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "12500000000.0" }, { @@ -5499,7 +5567,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3820000000.0" }, { @@ -5507,7 +5575,7 @@ "from": "2023", "to": "2025", "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "9440000000.0" }, { @@ -12839,12 +12907,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 29058251.016552746, + "resolved_value": 28899522.63739463, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_5aff5e57f05ddba9ad025b36", "uprating": { "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "26000000.0" } }, @@ -12854,12 +12922,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 378874888.2542839, + "resolved_value": 376805314.3875684, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_fc3c7927013f5264698979d8", "uprating": { "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "339000000.0" } }, @@ -12902,12 +12970,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 558812519.5490913, + "resolved_value": 555760050.7191275, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_6b85f6be706ccfed238bf1f9", "uprating": { "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "500000000.0" } }, @@ -12928,12 +12996,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 723103400.2965242, + "resolved_value": 719153505.630551, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_5852a008bcd3cea2bc99b092", "uprating": { "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "647000000.0" } }, @@ -12954,12 +13022,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 871747530.4965824, + "resolved_value": 866985679.1218389, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_2d34b4d9693e393903c5f638", "uprating": { "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "780000000.0" } }, @@ -12969,12 +13037,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 91645253.20605098, + "resolved_value": 91144648.31793691, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_e493ddc5770b5a2e89c83fcf", "uprating": { "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "82000000.0" } }, @@ -12984,12 +13052,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 2838767599.309384, + "resolved_value": 2823261057.6531677, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_ae77cfe6ff63112b006c6a30", "uprating": { "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "2540000000.0" } }, @@ -13010,17 +13078,219 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 3878158885.6706934, + "resolved_value": 3856974751.9907446, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_91323471e9baa2fc4904040a", "uprating": { "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", - "factor": "1.11762503909818", + "factor": "1.11152010143825", "value_before_uprating": "3470000000.0" } } ] }, + "hmrc.spi.employment_income.count_by_self_employment_income_band": { + "status": "active", + "candidates": [ + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_0_1", + "status": "signed_excluded", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "signed_row": { + "dimension": "self_employment_income_lower_bound", + "value": 0 + }, + "signed_rationale": "SPI 2023-24 Table 3.10's zero band counts people with a self-employment source and no profit after loss relief. The binding bands people on their self-employment income alone, so a band from 0 to 1 would count every employee without self-employment income. It also lies outside the GBP 1 to GBP 10,000 range Mar\u00eda's ruling of 2026-10-29 binds, which her choice of 2026-10-30 extends to Table 3.10's employment-income counts. Signed out of the band fan-out; the eight bands from GBP 1 stay bound." + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1_500", + "status": "active", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "resolved_period": 2025, + "resolved_value": 72111.7166212534, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_a8a50ebacc90efdf051f460b", + "uprating": { + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "67000.0" + } + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1000_2000", + "status": "active", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "resolved_period": 2025, + "resolved_value": 136689.37329700272, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_e07428dae7ed2be1a4b3d793", + "uprating": { + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "127000.0" + } + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_10000_15000", + "status": "signed_excluded", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "signed_row": { + "dimension": "self_employment_income_lower_bound", + "value": 10000 + }, + "signed_rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: Mar\u00eda's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound." + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_100000_plus", + "status": "signed_excluded", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "signed_row": { + "dimension": "self_employment_income_lower_bound", + "value": 100000 + }, + "signed_rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: Mar\u00eda's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound." + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_15000_20000", + "status": "signed_excluded", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "signed_row": { + "dimension": "self_employment_income_lower_bound", + "value": 15000 + }, + "signed_rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: Mar\u00eda's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound." + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_2000_3000", + "status": "active", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "resolved_period": 2025, + "resolved_value": 110858.310626703, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_8f608695430804bf74928876", + "uprating": { + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "103000.0" + } + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_20000_30000", + "status": "signed_excluded", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "signed_row": { + "dimension": "self_employment_income_lower_bound", + "value": 20000 + }, + "signed_rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: Mar\u00eda's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound." + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_3000_4000", + "status": "active", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "resolved_period": 2025, + "resolved_value": 96866.48501362398, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_0814147e65171246cce164c0", + "uprating": { + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "90000.0" + } + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_30000_50000", + "status": "signed_excluded", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "signed_row": { + "dimension": "self_employment_income_lower_bound", + "value": 30000 + }, + "signed_rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: Mar\u00eda's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound." + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_4000_5000", + "status": "active", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "resolved_period": 2025, + "resolved_value": 82874.65940054496, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_5e447c3f14dc230f46520c1e", + "uprating": { + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "77000.0" + } + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_500_1000", + "status": "active", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "resolved_period": 2025, + "resolved_value": 68882.83378746595, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_1f44d42f7a3ba77a7f872437", + "uprating": { + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "64000.0" + } + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_5000_7500", + "status": "active", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "resolved_period": 2025, + "resolved_value": 159291.553133515, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_535bdfcf3c4c862eee078139", + "uprating": { + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "148000.0" + } + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_50000_100000", + "status": "signed_excluded", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "signed_row": { + "dimension": "self_employment_income_lower_bound", + "value": 50000 + }, + "signed_rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: Mar\u00eda's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound." + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_7500_10000", + "status": "active", + "matched_fact_count_overall": 1, + "matched_fact_count_at_or_before_period": 1, + "resolved_period": 2025, + "resolved_value": 121621.25340599455, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_52b23e53122bfddd68b77ca8", + "uprating": { + "index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "factor": "1.07629427792916", + "value_before_uprating": "113000.0" + } + } + ] + }, "hmrc.spi.dividend_income.amount_by_total_income_band": { "status": "active", "candidates": [ @@ -13030,12 +13300,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 7475572768.250349, + "resolved_value": 7475600207.41509, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_6fd01f132dc6b218c02326b1", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "6870000000.0" } }, @@ -13045,12 +13315,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 12078436350.448162, + "resolved_value": 12078480684.469795, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_3c0cd54a0f0609d8ebc58a25", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "11100000000.0" } }, @@ -13060,12 +13330,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 190425798.31787643, + "resolved_value": 190426497.27767697, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_b63a84056f85bed14b8ab8fd", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "175000000.0" } }, @@ -13075,12 +13345,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 930366043.2101963, + "resolved_value": 930369458.1280789, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_3c4f22fc63944665033b18b3", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "855000000.0" } }, @@ -13090,12 +13360,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 3754108595.409564, + "resolved_value": 3754122374.9027743, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_ced1a5840ced099b471d4e84", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3450000000.0" } }, @@ -13105,12 +13375,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 3623530905.1344485, + "resolved_value": 3623544205.340939, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_8a115e840b38a6603d618bc0", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3330000000.0" } }, @@ -13120,12 +13390,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 4026145450.1493874, + "resolved_value": 4026160228.1565986, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_0394e55216df7f3dcab84fb5", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3700000000.0" } }, @@ -13135,12 +13405,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 5114292869.108682, + "resolved_value": 5114311641.171896, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_ea93d59adaf66ef73e9dddbf", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "4700000000.0" } }, @@ -13150,12 +13420,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 3732345647.030378, + "resolved_value": 3732359346.6424685, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_8d09d2287cbdb2e4f4004521", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3430000000.0" } }, @@ -13165,12 +13435,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 9140438319.258068, + "resolved_value": 9140471869.328495, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_0a4329a3eb027a530c6f02ec", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "8400000000.0" } }, @@ -13180,12 +13450,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 13601842736.991173, + "resolved_value": 13601892662.691212, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_c11497ffe45250b909593f1d", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "12500000000.0" } }, @@ -13195,12 +13465,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 4156723140.424503, + "resolved_value": 4156738397.7184343, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_dafc8ca1cd03e5d461b11d4e", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "3820000000.0" } }, @@ -13210,12 +13480,12 @@ "matched_fact_count_overall": 1, "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 10272111634.975735, + "resolved_value": 10272149338.864403, "resolved_fact_period": "2023", "resolved_fact_key": "ledger_aggregate_fact_v2_940e6ce9db10080ed5613faa", "uprating": { "index": "policyengine_uk_parameter:gov.economic_assumptions.indices.obr.per_capita.gdp", - "factor": "1.08814741895929", + "factor": "1.0881514130153", "value_before_uprating": "9440000000.0" } } @@ -32070,7 +32340,7 @@ { "family": "hmrc_spi", "status": "active_strict_band_pins", - "active_reference_count": 211, + "active_reference_count": 219, "signed_rationale": "SPI income-band targets fan out by strict total-income-band dimension pins, and SPI Table 3.10's by self-employment band, its bands outside GBP 1 to GBP 10,000 signed out row by row (microcosm#1418). The 13 property-income amount rows bind the SPI Table 3.7 net concept unscaled: landlords' profit after allowable expenses and before residential finance costs, which is what policyengine-uk's property_income means. The incumbent's x1.9 scaling (uk-data#311, uk-data#230) set the Property Rental Income Statistics' receipts before expenses against this net amount, so it is retired; the receipts are constructed on property_rental_income by the property_components stage and PRIS stays a diagnostic (microcosm#1106, Mar\u00eda's rulings of 2026-10-05 and 2026-10-08)." }, { diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_reference_signed_exclusions.json b/packages/microcosm-build/src/microcosm/build/uk/target_reference_signed_exclusions.json index 55890b8d7e..624ddc8c4a 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_reference_signed_exclusions.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_reference_signed_exclusions.json @@ -271,6 +271,90 @@ "value": 100000 } }, + { + "target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "reason_id": "zero_band_counts_everyone_without_the_income", + "rationale": "SPI 2023-24 Table 3.10's zero band counts people with a self-employment source and no profit after loss relief. The binding bands people on their self-employment income alone, so a band from 0 to 1 would count every employee without self-employment income. It also lies outside the GBP 1 to GBP 10,000 range María's ruling of 2026-10-29 binds, which her choice of 2026-10-30 extends to Table 3.10's employment-income counts. Signed out of the band fan-out; the eight bands from GBP 1 stay bound.", + "tracking": "microcosm#1418", + "approved_by": "juaristi22", + "approved_on": "2026-10-30", + "row": { + "dimension": "self_employment_income_lower_bound", + "value": 0 + } + }, + { + "target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "reason_id": "bound_by_table_3_6_from_10000", + "rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: María's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound.", + "tracking": "microcosm#1418", + "approved_by": "juaristi22", + "approved_on": "2026-10-30", + "row": { + "dimension": "self_employment_income_lower_bound", + "value": 10000 + } + }, + { + "target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "reason_id": "bound_by_table_3_6_from_10000", + "rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: María's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound.", + "tracking": "microcosm#1418", + "approved_by": "juaristi22", + "approved_on": "2026-10-30", + "row": { + "dimension": "self_employment_income_lower_bound", + "value": 15000 + } + }, + { + "target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "reason_id": "bound_by_table_3_6_from_10000", + "rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: María's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound.", + "tracking": "microcosm#1418", + "approved_by": "juaristi22", + "approved_on": "2026-10-30", + "row": { + "dimension": "self_employment_income_lower_bound", + "value": 20000 + } + }, + { + "target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "reason_id": "bound_by_table_3_6_from_10000", + "rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: María's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound.", + "tracking": "microcosm#1418", + "approved_by": "juaristi22", + "approved_on": "2026-10-30", + "row": { + "dimension": "self_employment_income_lower_bound", + "value": 30000 + } + }, + { + "target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "reason_id": "bound_by_table_3_6_from_10000", + "rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: María's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound.", + "tracking": "microcosm#1418", + "approved_by": "juaristi22", + "approved_on": "2026-10-30", + "row": { + "dimension": "self_employment_income_lower_bound", + "value": 50000 + } + }, + { + "target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "reason_id": "bound_by_table_3_6_from_10000", + "rationale": "SPI 2023-24 Table 3.10's self-employment bands from GBP 10,000 stay with Table 3.6's rows by total income, so the two tables do not pull against each other: María's ruling of 2026-10-29 binds Table 3.10 from GBP 1 to GBP 10,000, the small-profit end of the Budget's trading allowance measures (Table 6.1 line 15), and her choice of 2026-10-30 adds its employment-income counts over the same bands. Signed out of the band fan-out; the eight bands from GBP 1 stay bound.", + "tracking": "microcosm#1418", + "approved_by": "juaristi22", + "approved_on": "2026-10-30", + "row": { + "dimension": "self_employment_income_lower_bound", + "value": 100000 + } + }, { "target_id": "hmrc.spi.self_employment_income.amount_by_self_employment_income_band", "reason_id": "bound_by_table_3_6_from_10000", diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_references.json b/packages/microcosm-build/src/microcosm/build/uk/target_references.json index 61d31b9adc..5db205f2fa 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_references.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_references.json @@ -426,6 +426,7 @@ "hmrc.spi.dividend_income.amount_by_total_income_band": "hmrc.survey_of_personal_incomes", "hmrc.spi.dividend_income.count_by_total_income_band": "hmrc.survey_of_personal_incomes", "hmrc.spi.employment_income.amount_by_total_income_band": "hmrc.survey_of_personal_incomes", + "hmrc.spi.employment_income.count_by_self_employment_income_band": "hmrc.survey_of_personal_incomes", "hmrc.spi.employment_income.count_by_total_income_band": "hmrc.survey_of_personal_incomes", "hmrc.spi.other_investment_income.amount_by_total_income_band": "hmrc.survey_of_personal_incomes", "hmrc.spi.private_pension_income.amount_by_total_income_band": "hmrc.survey_of_personal_incomes", @@ -811,6 +812,7 @@ "hmrc.spi.dividend_income.amount_by_total_income_band": "Amount by total income band", "hmrc.spi.dividend_income.count_by_total_income_band": "Count by total income band", "hmrc.spi.employment_income.amount_by_total_income_band": "Amount by total income band", + "hmrc.spi.employment_income.count_by_self_employment_income_band": "Count with employment income by self-employment income band", "hmrc.spi.employment_income.count_by_total_income_band": "Count by total income band", "hmrc.spi.other_investment_income.amount_by_total_income_band": "Amount by total income band", "hmrc.spi.private_pension_income.amount_by_total_income_band": "Amount by total income band", @@ -3311,6 +3313,206 @@ "uprating_from_period": "2023", "uprating_to_period": 2025 }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1_500", + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person", + "geography_level": "country", + "geography_id": "K02000001", + "dimension_values": { + "self_employment_income_lower_bound": 1 + } + }, + "entity": "person", + "measure": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1_500", + "family": "hmrc_spi", + "period": 2025, + "metadata": { + "contract_target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "measure_kind": "prepared_column" + }, + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "uprating_from_period": "2023", + "uprating_to_period": 2025 + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1000_2000", + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person", + "geography_level": "country", + "geography_id": "K02000001", + "dimension_values": { + "self_employment_income_lower_bound": 1000 + } + }, + "entity": "person", + "measure": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_1000_2000", + "family": "hmrc_spi", + "period": 2025, + "metadata": { + "contract_target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "measure_kind": "prepared_column" + }, + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "uprating_from_period": "2023", + "uprating_to_period": 2025 + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_2000_3000", + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person", + "geography_level": "country", + "geography_id": "K02000001", + "dimension_values": { + "self_employment_income_lower_bound": 2000 + } + }, + "entity": "person", + "measure": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_2000_3000", + "family": "hmrc_spi", + "period": 2025, + "metadata": { + "contract_target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "measure_kind": "prepared_column" + }, + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "uprating_from_period": "2023", + "uprating_to_period": 2025 + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_3000_4000", + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person", + "geography_level": "country", + "geography_id": "K02000001", + "dimension_values": { + "self_employment_income_lower_bound": 3000 + } + }, + "entity": "person", + "measure": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_3000_4000", + "family": "hmrc_spi", + "period": 2025, + "metadata": { + "contract_target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "measure_kind": "prepared_column" + }, + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "uprating_from_period": "2023", + "uprating_to_period": 2025 + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_4000_5000", + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person", + "geography_level": "country", + "geography_id": "K02000001", + "dimension_values": { + "self_employment_income_lower_bound": 4000 + } + }, + "entity": "person", + "measure": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_4000_5000", + "family": "hmrc_spi", + "period": 2025, + "metadata": { + "contract_target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "measure_kind": "prepared_column" + }, + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "uprating_from_period": "2023", + "uprating_to_period": 2025 + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_500_1000", + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person", + "geography_level": "country", + "geography_id": "K02000001", + "dimension_values": { + "self_employment_income_lower_bound": 500 + } + }, + "entity": "person", + "measure": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_500_1000", + "family": "hmrc_spi", + "period": 2025, + "metadata": { + "contract_target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "measure_kind": "prepared_column" + }, + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "uprating_from_period": "2023", + "uprating_to_period": 2025 + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_5000_7500", + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person", + "geography_level": "country", + "geography_id": "K02000001", + "dimension_values": { + "self_employment_income_lower_bound": 5000 + } + }, + "entity": "person", + "measure": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_5000_7500", + "family": "hmrc_spi", + "period": 2025, + "metadata": { + "contract_target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "measure_kind": "prepared_column" + }, + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "uprating_from_period": "2023", + "uprating_to_period": 2025 + }, + { + "name": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_7500_10000", + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person", + "geography_level": "country", + "geography_id": "K02000001", + "dimension_values": { + "self_employment_income_lower_bound": 7500 + } + }, + "entity": "person", + "measure": "hmrc.spi.employment_income.count_by_self_employment_income_band.band_7500_10000", + "family": "hmrc_spi", + "period": 2025, + "metadata": { + "contract_target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "measure_kind": "prepared_column" + }, + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "uprating_from_period": "2023", + "uprating_to_period": 2025 + }, { "name": "hmrc/dividend_income_income_band_100_000_to_150_000", "ledger_selector": { diff --git a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json index c66fb0d282..3c256b320c 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json +++ b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json @@ -895,7 +895,8 @@ "hmrc.itl.savings_tax_at_additional_rate": "Post-freeze fact family (HMRC Income Tax liabilities statistics Table 2.6, July 2026, in Chronicle: Income Tax on savings income at each rate, all payers, the calendar-2025 window of the 2024-25 and 2025-26 projections), no uk-data metric (microcosm#1418).", "hmrc.spi.other_investment_income.amount_by_total_income_band": "New declaration backed by SPI 2023-24 Table 3.7 other income in Chronicle (spi_income_bands_2023_24); no uk-data metric holds other investment income by band (microcosm#1418).", "hmrc.spi.self_employment_income.count_by_self_employment_income_band": "New declaration backed by SPI 2023-24 Table 3.10 in Chronicle (spi_income_bands_2023_24, PolicyEngine/chronicle#394); no uk-data metric holds self-employment income by self-employment band (microcosm#1418).", - "hmrc.spi.self_employment_income.amount_by_self_employment_income_band": "New declaration backed by SPI 2023-24 Table 3.10 in Chronicle (spi_income_bands_2023_24, PolicyEngine/chronicle#394); no uk-data metric holds self-employment income by self-employment band (microcosm#1418)." + "hmrc.spi.self_employment_income.amount_by_self_employment_income_band": "New declaration backed by SPI 2023-24 Table 3.10 in Chronicle (spi_income_bands_2023_24, PolicyEngine/chronicle#394); no uk-data metric holds self-employment income by self-employment band (microcosm#1418).", + "hmrc.spi.employment_income.count_by_self_employment_income_band": "New declaration backed by SPI 2023-24 Table 3.10 in Chronicle (spi_income_bands_2023_24, PolicyEngine/chronicle#394); no uk-data metric holds employment income by self-employment band (microcosm#1418)." }, "suppressed_ancestors": { "hmrc/salary_sacrifice_it_relief_basic_rate": { @@ -971,6 +972,7 @@ "hmrc.spi.self_employment_income.count_by_total_income_band", "hmrc.spi.self_employment_income.count_by_self_employment_income_band", "hmrc.spi.self_employment_income.amount_by_self_employment_income_band", + "hmrc.spi.employment_income.count_by_self_employment_income_band", "hmrc.spi.dividend_income.amount_by_total_income_band", "hmrc.spi.dividend_income.count_by_total_income_band", "hmrc.spi.property_income.amount_by_total_income_band", @@ -3848,6 +3850,54 @@ "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands_times_obr_per_capita_mixed_income", "selector_note": "Uprated from the SPI 2023-24 fact to the 2025 calibration period as recipients times the amount per recipient: the count rows' index (HMRC's projected growth of all taxpayers over all income ranges, Income Tax liabilities statistics Table 2.5) times gov.economic_assumptions.indices.obr.per_capita.mixed_income on the pinned engine, the index policyengine-uk grows self_employment_income by. Each band's mean therefore moves as the engine moves incomes; growing the counts and amounts on unrelated indices would have made calibration add people to each band and tilt them toward its bottom edge (the independent review of microcosm#1420, finding 2). The calibration binds at calendar 2025 under María's ruling of 2026-09-22 (PolicyEngine/chronicle#280 lane)." }, + { + "target_id": "hmrc.spi.employment_income.count_by_self_employment_income_band", + "family": "hmrc_spi", + "geography_levels": [ + "country" + ], + "measurement": { + "entity": "person", + "map_to": "household", + "concept": "uk.person.count", + "groupby_dimension": "hmrc.self_employment_income_band" + }, + "bindings": { + "policyengine": { + "metric_name": "hmrc/employment_income_count_self_employment_income_band", + "value_variable": "person_count", + "from_entity": "person", + "map_to": "household", + "groupby_variable": "self_employment_income_after_loss_relief_annual", + "band_filter_dimension": "self_employment_income", + "band_upper_bound": 10000, + "band_upper_bound_inclusive": false, + "filters": [ + { + "variable": "employment_income_annual", + "operator": "!=", + "value": 0 + } + ], + "notes": "SPI 2023-24 Table 3.10: the individuals with a self-employment source, taxpayer or not, who also have employment income, by range of self-employment income. Bound for the eight bands from GBP 1 to GBP 10,000 beside the self-employment counts (María's rulings of 2026-10-29 and 2026-10-30, microcosm#1418): the counts alone let the solve meet each band with traders who have no pay, where more than half of Table 3.10's traders below GBP 3,000 have employment income too, and the trading allowance measures (Table 6.1 line 15) reach the ones who pay Income Tax. The target fans out over every published band and target_reference_signed_exclusions.json signs out the others. Banded by the person's own self-employment income after loss relief, half-open, with the top bound band closed at GBP 10,000 (band_upper_bound). Employment income is the year's pay, employment_income_annual, the variable Table 3.6's employment rows read." + }, + "axiom": { + "metric_name": "hmrc/employment_income_count_self_employment_income_band", + "status": "pending", + "value_rule": "uk.person.count" + } + }, + "ledger_selector": { + "source_name": "hmrc", + "source_concept": "hmrc.spi_table_3_10_employment_income_count", + "groupby_dimension": "hmrc.self_employment_income_band", + "entity_name": "person" + }, + "category_id": "hmrc.survey_of_personal_incomes", + "label": "Count with employment income by self-employment income band", + "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", + "selector_note": "Uprated from the SPI 2023-24 fact to the 2025 calibration period by HMRC's projected growth of all taxpayers over all income ranges (Income Tax liabilities statistics Table 2.5), as the self-employment counts by self-employment band are. Table 3.10's employment income is income assessed under the Income Tax (Earnings and Pensions) Act 2003 and other miscellaneous income (its note 4), wider than Table 3.6's: the binding reads employment_income_annual, as Table 3.6's employment rows do, so it leaves out miscellaneous income, taxable benefits in kind, and Incapacity Benefit, contribution-based Employment and Support Allowance and Jobseeker's Allowance. The calibration binds at calendar 2025 under María's ruling of 2026-09-22 (PolicyEngine/chronicle#280 lane)." + }, { "target_id": "hmrc.spi.dividend_income.amount_by_total_income_band", "family": "hmrc_spi", diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py index 50bb70db71..48d0668d39 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py @@ -258,8 +258,9 @@ def test_uk_population_targets_shape_order_and_registry_accounting() -> None: # rates, three national rows, SPI pension income and the taxpayers with # it by constituency and local authority, SPI Table 3.7's other income by # total-income band, and SPI Table 3.10's self-employment counts and - # amounts by self-employment band. - assert len(resource["targets"]) == 456 + # amounts by self-employment band and the counts with employment income + # among them. + assert len(resource["targets"]) == 457 providers = resource["hierarchy"]["providers"] categories = resource["hierarchy"]["categories"] @@ -273,10 +274,10 @@ def test_uk_population_targets_shape_order_and_registry_accounting() -> None: target_ids = [target["target_id"] for target in resource["targets"]] registry_scope = resource["registry_parity"]["scope_target_ids"] profile_scope = resource["profile_parity"]["scope_target_ids"] - assert len(registry_scope) == 394 + assert len(registry_scope) == 395 assert len(profile_scope) == 62 - assert target_ids[:394] == registry_scope - assert target_ids[394:] == profile_scope + assert target_ids[:395] == registry_scope + assert target_ids[395:] == profile_scope parity = resource["registry_parity"] assert parity["pinned_ref"] == "12a1e028afeef08d8b2d74ee03fd9de3a78b2dd3" @@ -303,9 +304,9 @@ def test_uk_population_targets_shape_order_and_registry_accounting() -> None: # OBR excise rows have no uk-data metric (uk-data never measured excise # duty), nor microcosm#1069's two Income Tax payer by age rows, nor # microcosm#1418's three Income Tax on savings rows, its SPI other income - # row or its two Table 3.10 rows. + # row or its three Table 3.10 rows. assert len(mapped_target_ids) == 183 - assert len(unmapped_declarations) == 211 + assert len(unmapped_declarations) == 212 suppressed_ancestors = parity["suppressed_ancestors"] assert len(suppressed_ancestors) == 5 assert set(suppressed_ancestors).isdisjoint(parity["mapped"]) @@ -812,7 +813,7 @@ def test_uk_population_targets_have_unique_target_ids() -> None: resource = _load() target_ids = [target["target_id"] for target in resource["targets"]] - assert len(target_ids) == 456 + assert len(target_ids) == 457 assert len(target_ids) == len(set(target_ids)) @@ -1315,7 +1316,7 @@ def test_uc_payment_bands_share_administrative_family_but_keep_source_window() - def test_paid_joint_diagnostics_do_not_add_active_targets() -> None: targets = _load()["targets"] - assert len(targets) == 456 + assert len(targets) == 457 assert not any( f.get("variable") == "uc_calibration_child_entitlement" for target in targets @@ -1565,7 +1566,7 @@ def test_household_composition_cells_do_not_share_the_household_total_signature( def test_only_the_uc_award_bands_read_whole_pence() -> None: """microcosm#1095: the four UC payment families opt in to whole-pence, - upper-closed bands; the other 31 banded bindings keep the half-open + upper-closed bands; the other 32 banded bindings keep the half-open reading.""" banded = { @@ -1578,7 +1579,7 @@ def test_only_the_uc_award_bands_read_whole_pence() -> None: for target_id, binding in banded.items() if binding.get("band_semantics") == "whole_pence_upper_closed" } - assert len(banded) == 35 + assert len(banded) == 36 assert whole_pence == { f"dwp.uc.payment_distribution_{family}" for family in ( diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_target_references.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_target_references.py index 06e697074f..282a512ead 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_target_references.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_target_references.py @@ -76,7 +76,9 @@ # national calibration tests read it from the committed membership, or not at # all, so a change to the target set moves this pin alone. How it is made up: # microcosm#1418 PR C: + 13, SPI Table 3.7's other income by band, and + 16, -# SPI Table 3.10's self-employment bands from GBP 1 to GBP 10,000; +# SPI Table 3.10's self-employment bands from GBP 1 to GBP 10,000; its +# savings follow-up (microcosm#1428): + 8, Table 3.10's individuals with +# employment income over the same bands; # microcosm#1418: + 3, HMRC's Income Tax on savings at each rate; # microcosm#1069: + 24, HMRC's Income Tax payers of State Pension age and aged # 65 and over in the twelve region-tier areas; microcosm#1095 (the bump after @@ -122,7 +124,7 @@ # thresholds over England's regions and Wales), which the national line drops # after the compile, less the North East and Wales rows over £2m, signed out # below the small-cell floor -ACTIVE_REFERENCE_COUNT = 1403 +ACTIVE_REFERENCE_COUNT = 1411 REGION_TIER_LEVEL = {code: level for level, code in UK_REGION_TIER} @@ -1072,7 +1074,7 @@ def test_uk_target_reference_membership_report_is_packaged() -> None: assert membership["status_counts"] == { "active": ACTIVE_REFERENCE_COUNT, "no_fact_at_or_before_period": 4, - "signed_excluded": 30, + "signed_excluded": 37, } assert membership["genuine_sum_residue"] assert membership["uprating_holds"] @@ -1088,7 +1090,7 @@ def test_uk_target_reference_membership_report_is_packaged() -> None: { "family": "hmrc_spi", "status": "active_strict_band_pins", - "active_reference_count": 211, + "active_reference_count": 219, "signed_rationale": ( "SPI income-band targets fan out by strict total-income-band " "dimension pins, and SPI Table 3.10's by self-employment band, " From 003dbd0062cdb43f6a1eafd21e1f33a761bdfb46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Thu, 29 Oct 2026 14:27:10 +0000 Subject: [PATCH 35/67] Make the promoted national line the default UK load microcosm#823 (tracked in #1095). The registry kept the UK 2024-25 national line off the default variant until its first certified cut existed on the Hub, so that resolve("uk") never chased an absent pointer; its comment named the flip a one-line follow-up after promotion (review of #966, Max's #823 ruling). Checked on 2026-10-29: latest-national.json on policyengine/populace-uk-private names microcosm-uk-2024-25-national-20261025T091414Z-a6299504 (updated 2026-10-26), with its release certification, built on policyengine-uk 2.151.0, the version #1095 names for the flip. The entry's variant becomes DEFAULT_VARIANT, so resolve("uk") and load("uk", 2025) follow latest-national.json, and load("uk", 2023) stays on latest.json. This changes the default UK load for every consumer of microcosm.data; no other local repository names the retired national variant. The registry, loader and assembler tests and the release runbook follow; the live pointer test now branches on the line pointer, not the variant, and resolves the promoted cut. The unreleased changelog entry from #966 that described the opposite state goes. It moves out of #1422 on its own, so that it can land now (Vahid's review of #1422). Co-Authored-By: Claude Opus 5.5 --- .../823-national-line-default-load.changed.md | 1 + ...national-variant-until-promoted.changed.md | 1 - ...k-national-release-assembly-runbook-806.md | 12 ++-- .../uk/test_uk_release_assembler.py | 4 +- .../src/microcosm/data/registry.py | 14 ++--- .../tests/engine_free/shared/test_loader.py | 58 +++++++++---------- .../tests/engine_free/shared/test_registry.py | 22 +++---- 7 files changed, 54 insertions(+), 58 deletions(-) create mode 100644 changelog.d/823-national-line-default-load.changed.md delete mode 100644 changelog.d/823-national-variant-until-promoted.changed.md diff --git a/changelog.d/823-national-line-default-load.changed.md b/changelog.d/823-national-line-default-load.changed.md new file mode 100644 index 0000000000..43b06fe7d0 --- /dev/null +++ b/changelog.d/823-national-line-default-load.changed.md @@ -0,0 +1 @@ +The UK 2024-25 national line is the default UK load: `microcosm.data.load("uk")` and `load("uk", 2025)` follow `latest-national.json`, which has named the certified cut microcosm-uk-2024-25-national-20261025T091414Z-a6299504 (built on policyengine-uk 2.151.0) since 26 October 2026, instead of the June 2023 `populace_uk_2023` artifact, which stays at `load("uk", 2023)`. The line's own `national` variant key retires (microcosm#823, Max's ruling). diff --git a/changelog.d/823-national-variant-until-promoted.changed.md b/changelog.d/823-national-variant-until-promoted.changed.md deleted file mode 100644 index c492e22e40..0000000000 --- a/changelog.d/823-national-variant-until-promoted.changed.md +++ /dev/null @@ -1 +0,0 @@ -The UK 2024-25 national line is registered as variant `national` (`microcosm.data.load("uk", 2025, variant="national")`), not as the 2025 default: `resolve("uk")` stays on the June 2023 line until the line's first cut is promoted and a follow-up flips the entry to the default variant, so a default load never chases a pointer that does not exist yet (review of #966; Max's #823 ruling keys the line as a variant). diff --git a/docs/uk-national-release-assembly-runbook-806.md b/docs/uk-national-release-assembly-runbook-806.md index bec7ea1896..38a19e3e6c 100644 --- a/docs/uk-national-release-assembly-runbook-806.md +++ b/docs/uk-national-release-assembly-runbook-806.md @@ -222,13 +222,11 @@ in §4. The promotion moves only `latest-national.json`, recording `national` as the line and the reviewed cut tag as its `revision`. It never moves the repository-global `latest.json`, which remains on the June 2023 release. -The 2025 national entry is registered off the default variant until this -first promotion: `microcosm.data.load("uk", 2025, variant="national")` follows -`latest-national.json` as soon as the pointer exists, while -`microcosm.data.resolve("uk")` stays on the June 2023 line. The default moves -in a one-line follow-up PR after promotion (the registry entry's `variant` -becomes the default), with its test; sequencing it this way means a default -load never chases a pointer that does not exist yet. An explicit +The 2025 national entry was registered off the default variant until the +first promotion, so that a default load never chased a pointer that did not +exist yet. The first certified cut was promoted on 2026-10-26, and the entry +is now the default variant (microcosm#823): `microcosm.data.load("uk")` and +`microcosm.data.load("uk", 2025)` follow `latest-national.json`. An explicit `microcosm.data.load("uk", 2023)` continues to follow `latest.json`. With `SLACK_WEBHOOK_POPULACE_UK` configured, successful promotion sends an diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_release_assembler.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_release_assembler.py index 5c325d86a6..68f4fc644a 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_release_assembler.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_release_assembler.py @@ -28,7 +28,7 @@ uk_weight_projection_factor, ) from microcosm.data.contract import validate_release_dir -from microcosm.data.registry import REGISTRY +from microcosm.data.registry import DEFAULT_VARIANT, REGISTRY from microcosm.frame import WeightKind from test_support.paths import paths_for @@ -87,7 +87,7 @@ def test_national_dataset_filename_mirrors_registry() -> None: assert driver._DATASET_KEY == "microcosm_uk_2024_25" assert driver._DATASET_FILENAME == f"{driver._DATASET_KEY}.h5" - assert REGISTRY[("uk", 2025, "national")].filename == driver._DATASET_FILENAME + assert REGISTRY[("uk", 2025, DEFAULT_VARIANT)].filename == driver._DATASET_FILENAME def _frame(weights: list[float], *, weight_kind: WeightKind): diff --git a/packages/microcosm-data/src/microcosm/data/registry.py b/packages/microcosm-data/src/microcosm/data/registry.py index e16e9f45fa..385a062c01 100644 --- a/packages/microcosm-data/src/microcosm/data/registry.py +++ b/packages/microcosm-data/src/microcosm/data/registry.py @@ -114,15 +114,15 @@ def register(spec: DatasetSpec) -> DatasetSpec: register( DatasetSpec( # microcosm#823: the UK 2024-25 national line, followed through its - # own pointer. Registered OFF the default variant until the first - # promoted cut exists on the Hub: resolve("uk") picks the latest - # default-variant year at import time, so a default entry here would - # send every default load to a pointer that does not exist yet. The - # flip to DEFAULT_VARIANT is a one-line follow-up after promotion - # (review of #966; Max's #823 ruling keys the line as a variant). + # own pointer, is the default UK load. It stayed off the default + # variant until its first certified cut was promoted (review of #966; + # Max's #823 ruling), and latest-national.json has named + # microcosm-uk-2024-25-national-20261025T091414Z-a6299504 since + # 2026-10-26. resolve("uk") picks the latest default-variant year, so + # it loads this line; the June 2023 artifact stays at ("uk", 2023). country="uk", year=2025, - variant="national", + variant=DEFAULT_VARIANT, hf_repo="policyengine/populace-uk-private", filename="microcosm_uk_2024_25.h5", engine_module="policyengine_uk.data", diff --git a/packages/microcosm-data/tests/engine_free/shared/test_loader.py b/packages/microcosm-data/tests/engine_free/shared/test_loader.py index 69c5af1096..decabfd3d3 100644 --- a/packages/microcosm-data/tests/engine_free/shared/test_loader.py +++ b/packages/microcosm-data/tests/engine_free/shared/test_loader.py @@ -345,23 +345,22 @@ def __init__(self, *, file_path: str) -> None: return constructed -def test_resolve_uk_default_stays_on_2023_until_the_national_line_is_promoted(): - """The national line is registered off the default variant until its - pointer exists on the Hub, so a default load never chases an absent - pointer (review of #966); the flip is a one-line follow-up.""" - assert latest_year("uk") == 2023 - assert resolve("uk").key == ("uk", 2023, DEFAULT_VARIANT) - assert resolve("uk", 2025, variant="national").pointer_path == ( - "latest-national.json" - ) - with pytest.raises(ValueError, match="published years"): - resolve("uk", 2025) +def test_resolve_uk_default_is_the_promoted_national_line(): + """microcosm#823: once the national line's first certified cut was + promoted, the line became the default UK load; the June 2023 line stays + addressable at its year and its own pointer (Max's #823 ruling).""" + assert latest_year("uk") == 2025 + assert resolve("uk").key == ("uk", 2025, DEFAULT_VARIANT) + assert resolve("uk").pointer_path == "latest-national.json" + assert resolve("uk", 2023).pointer_path == "latest.json" + with pytest.raises(ValueError, match="variant 'national'"): + resolve("uk", 2025, variant="national") def test_resolve_uk_national_variant_follows_the_line_pointer( tmp_path: Path, ) -> None: - spec = resolve("uk", 2025, variant="national") + spec = resolve("uk", 2025) manifest = _uk_release_manifest() hub = _line_pointer_hub( tmp_path, @@ -374,7 +373,7 @@ def test_resolve_uk_national_variant_follows_the_line_pointer( certified = loader._resolve_certified_release(spec, hub_download=hub) manifest_path = f"releases/{UK_NATIONAL_RELEASE_ID}/release_manifest.json" - assert spec.key == ("uk", 2025, "national") + assert spec.key == ("uk", 2025, DEFAULT_VARIANT) assert spec.pointer_path == "latest-national.json" assert certified.release_id == UK_NATIONAL_RELEASE_ID assert certified.artifact_revision == UK_NATIONAL_CUT_TAG @@ -449,9 +448,7 @@ def test_line_pointer_refuses_any_artifact_revision_mismatch(tmp_path: Path) -> ValueError, match=r"artifacts not pinned to expected revision.*calibration_report", ): - loader._resolve_certified_release( - resolve("uk", 2025, variant="national"), hub_download=hub - ) + loader._resolve_certified_release(resolve("uk", 2025), hub_download=hub) def test_local_area_line_selects_its_only_microdata_artifact(tmp_path: Path) -> None: @@ -568,9 +565,7 @@ def test_loader_refuses_an_unknown_dataset_role(tmp_path: Path) -> None: ) with pytest.raises(ValueError, match="unknown dataset_role 'research_preview'"): - loader._resolve_certified_release( - resolve("uk", 2025, variant="national"), hub_download=hub - ) + loader._resolve_certified_release(resolve("uk", 2025), hub_download=hub) def test_download_uses_pointer_manifest_and_release_revision( @@ -804,7 +799,7 @@ def _is_missing_pointer_error(exc: BaseException, pointer_path: str) -> bool: [ ("us", 2024, DEFAULT_VARIANT), ("uk", 2023, DEFAULT_VARIANT), - ("uk", 2025, "national"), + ("uk", 2025, DEFAULT_VARIANT), ], ) def test_live_latest_pointer_resolves_to_a_coherent_certified_release( @@ -823,6 +818,9 @@ def test_live_latest_pointer_resolves_to_a_coherent_certified_release( which are updated atomically with each certification PR. """ spec = resolve(country, year, variant=variant) + # The UK 2025 default follows its line's pointer since microcosm#823, so + # the pointer, not the variant, says how the release is named. + line = loader._line_from_pointer_path(spec.pointer_path) try: certified = loader._resolve_certified_release(spec) except Exception as exc: @@ -834,26 +832,26 @@ def test_live_latest_pointer_resolves_to_a_coherent_certified_release( pytest.skip( f"repo requires credentials this environment lacks (private): {exc}" ) - if variant != DEFAULT_VARIANT and _is_missing_pointer_error( - exc, spec.pointer_path - ): + if line is not None and _is_missing_pointer_error(exc, spec.pointer_path): # A line pointer exists only once its first cut is promoted; # until then the line is registered but not yet live. Anything # else on a promoted line (a manifest 404, a bad pin) fails. pytest.skip(f"line pointer {spec.pointer_path} not yet promoted: {exc}") raise - assert certified.release_id.startswith( - # Live certified releases still carry the pre-rename id prefix; new - # builds may adopt the microcosm- prefix at the next versioned release. - (f"microcosm-{country}-{spec.year}-", f"populace-{country}-{spec.year}-") - ) assert certified.artifact_repo_id == spec.hf_repo assert certified.artifact_path == spec.filename - if variant == DEFAULT_VARIANT: + if line is None: + assert certified.release_id.startswith( + # Live certified releases still carry the pre-rename id prefix; new + # builds may adopt the microcosm- prefix at the next versioned + # release. + (f"microcosm-{country}-{spec.year}-", f"populace-{country}-{spec.year}-") + ) assert certified.artifact_revision == certified.release_id else: # A line pointer names the immutable cut tag of its constant id. + assert certified.release_id.startswith(f"microcosm-{country}-") assert certified.artifact_revision.startswith(f"{certified.release_id}-") assert re.fullmatch(r"[0-9a-f]{64}", certified.artifact_sha256) assert certified.model.name == spec.engine_package @@ -862,7 +860,7 @@ def test_live_latest_pointer_resolves_to_a_coherent_certified_release( def test_line_pointer_refuses_a_manifest_with_another_lines_role(tmp_path: Path): """A line pointer carries one role: the national pointer cannot select a local-area manifest, nor a local-area pointer a national one.""" - spec = resolve("uk", 2025, variant="national") + spec = resolve("uk", 2025) manifest = _uk_release_manifest() manifest["dataset_role"] = "non_default_local_area" manifest["default_datasets"] = {} diff --git a/packages/microcosm-data/tests/engine_free/shared/test_registry.py b/packages/microcosm-data/tests/engine_free/shared/test_registry.py index eae3a397a5..066a1933ff 100644 --- a/packages/microcosm-data/tests/engine_free/shared/test_registry.py +++ b/packages/microcosm-data/tests/engine_free/shared/test_registry.py @@ -69,8 +69,8 @@ def test_available_lists_default_variant_keys_only_sorted(monkeypatch) -> None: keys = available() assert ("us", 2024) in keys assert ("uk", 2023) in keys - # The national line is off the default variant until promoted. - assert ("uk", 2025) not in keys + # The national line is the default variant since its promotion (#823). + assert ("uk", 2025) in keys assert ("zz", 2099) not in keys assert keys == sorted(keys) @@ -146,16 +146,16 @@ def test_uk_2025_dense_is_registered_off_the_default_variant() -> None: assert spec.filename == "microcosm_uk_2024_25_dense.h5" assert spec.engine_class == "UKSingleYearDataset" assert spec.engine_package == "policyengine-uk" - assert ("uk", 2025, "national") in REGISTRY + assert ("uk", 2025, DEFAULT_VARIANT) in REGISTRY -def test_uk_2025_national_is_registered_off_the_default_variant_until_promoted(): - """resolve("uk") must not reach a pointer that does not exist yet: the - line's pointer appears on the Hub at its first promotion, and only the - follow-up flip to the default variant moves the default (review of - #966; Max's #823 ruling keys the line as a variant).""" - spec = REGISTRY[("uk", 2025, "national")] - assert spec.variant == "national" != DEFAULT_VARIANT +def test_uk_2025_national_line_is_the_default_variant_after_promotion(): + """microcosm#823: the line's first certified cut was promoted on + 2026-10-26, so the line moved to the default variant (Max's #823 + ruling) and its own variant key retired; the June 2023 line stays + addressable at its year.""" + spec = REGISTRY[("uk", 2025, DEFAULT_VARIANT)] assert spec.pointer_path == "latest-national.json" assert spec.filename == "microcosm_uk_2024_25.h5" - assert ("uk", 2025, DEFAULT_VARIANT) not in REGISTRY + assert ("uk", 2025, "national") not in REGISTRY + assert REGISTRY[("uk", 2023, DEFAULT_VARIANT)].filename == "populace_uk_2023.h5" From 45df16363a5db41f927cfc4149092b847e80ebb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 10:21:25 +0000 Subject: [PATCH 36/67] Drop the registry fragment's sentence that the flip makes stale 823-uk-2025-registry.changed.md ended by saying the UK default stays on the June 2023 line until the national line's promotion and the flip of its entry. This PR makes that flip, and both fragments ship in the same release notes (Vahid's review of #1422, round 2). Co-Authored-By: Claude Opus 5.5 --- changelog.d/823-uk-2025-registry.changed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/823-uk-2025-registry.changed.md b/changelog.d/823-uk-2025-registry.changed.md index 2c9cc54ef5..99c4be3a94 100644 --- a/changelog.d/823-uk-2025-registry.changed.md +++ b/changelog.d/823-uk-2025-registry.changed.md @@ -1 +1 @@ -Registered the UK 2024-25 national line in the data registry as variant `national` on `microcosm_uk_2024_25.h5`, followed through `latest-national.json`, and taught the certified loader to follow per-line pointers at immutable revisions; non-default local-area manifests load only through their line pointers. `available()` now lists default-variant `(country, year)` pairs only (`available_variants()` lists every registered variant, the dense line included). The UK default stays on the June 2023 line until the national line's first promotion and the follow-up flip of its entry to the default variant. +Registered the UK 2024-25 national line in the data registry as variant `national` on `microcosm_uk_2024_25.h5`, followed through `latest-national.json`, and taught the certified loader to follow per-line pointers at immutable revisions; non-default local-area manifests load only through their line pointers. `available()` now lists default-variant `(country, year)` pairs only (`available_variants()` lists every registered variant, the dense line included). From 5c0137fb4e31c28f608da2c8f4a0ba0a37b6453b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 10:49:26 +0000 Subject: [PATCH 37/67] Anchor HMRC's tax on savings rows on the OBR savings path (option A) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit María's choice of 2026-10-31 (microcosm#1428). The three Income Tax liabilities statistics Table 2.6 rows bound HMRC's own 2024-25 and 2025-26 projections as a calendar-2025 window: GBP 8.40bn of tax on savings, x1.52 on the 2023-24 outturn, against x1.36 for savings income on the OBR's path. With SPI Table 3.7's savings income already on the OBR path, those rows pinned the tax on savings, and so the savings rates' static yield, about 12% above the base the Budget's costing grows. - The rows now read the 2023-24 outturn alone. They are observed facts, so hmrc_itl_savings_rate leaves the source-projection families. - They grow by the OBR's savings income growth (October 2026 EFO Table 4.5), x1.3562 to calendar 2025, the index Table 3.7's savings rows take: GBP 1.61bn, 2.24bn and 3.66bn, GBP 7.51bn in all. - Growing the tax on the income's path leaves out the leverage that HMRC's projection carries from the frozen Personal Savings Allowance and thresholds. - The national references, membership and compile-parity receipt are regenerated on the pinned feed, and only the three rows move. The engine test's comments now name calendar 2025's two tax years. Co-Authored-By: Claude Opus 5.5 --- .../1428-itl-savings-tax-obr-path.changed.md | 1 + ...ity_incumbent_2025_signed_differences.json | 6 +- .../build/uk/target_reference_membership.json | 66 +++++++++++++++---- .../microcosm/build/uk/target_references.json | 18 +++-- .../build/uk/uk_population_targets.json | 24 +++---- .../uk/test_uk_itl_savings_tax_rates.py | 6 +- .../uk/test_uk_population_targets.py | 1 - 7 files changed, 85 insertions(+), 37 deletions(-) create mode 100644 changelog.d/1428-itl-savings-tax-obr-path.changed.md diff --git a/changelog.d/1428-itl-savings-tax-obr-path.changed.md b/changelog.d/1428-itl-savings-tax-obr-path.changed.md new file mode 100644 index 0000000000..f9d6066397 --- /dev/null +++ b/changelog.d/1428-itl-savings-tax-obr-path.changed.md @@ -0,0 +1 @@ +HMRC's Income Tax on savings at the basic, higher and additional rates (Income Tax liabilities statistics Table 2.6) now binds the 2023-24 outturn grown to the 2025 calibration period by the OBR's savings income growth (October 2026 EFO Table 4.5, about ×1.36), the path the Budget's savings costing grows its base by and SPI Table 3.7's savings rows already take (#1428; María's choice of 2026-10-31). The rows used to bind HMRC's own 2024-25 and 2025-26 projections as a calendar-2025 window, about 12% higher: tax there grows ×1.52 over the outturn against ×1.36 for savings income, the leverage of the frozen Personal Savings Allowance and thresholds. Bound beside Table 3.7's income on the OBR path, the projections pinned the tax on savings, and so the static yield of the savings rate rises, above the costing's base. The rows now read observed years only, so `hmrc_itl_savings_rate` leaves the source-projection families. diff --git a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json index 4e0514dcb2..84c57c73bb 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json +++ b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json @@ -2165,21 +2165,21 @@ }, { "kind": "ledger_only", - "ledger_value": 4087500000.0, + "ledger_value": 3661705003.058779, "name": "hmrc.itl.savings_tax_at_additional_rate", "period": 2025, "reason": "Coverage the incumbent lacks (microcosm#1418): HMRC's Income Tax liabilities Table 2.6 (July 2026) Income Tax on savings at the basic, higher and additional rates, all payers, United Kingdom, as the calendar-2025 window of the 2024-25 and 2025-26 projections: the base the Budget 2026 savings income rates are costed on. The incumbent registry binds no tax by income source or rate." }, { "kind": "ledger_only", - "ledger_value": 1720000000.0, + "ledger_value": 1613862575.4222026, "name": "hmrc.itl.savings_tax_at_basic_rate", "period": 2025, "reason": "Coverage the incumbent lacks (microcosm#1418): HMRC's Income Tax liabilities Table 2.6 (July 2026) Income Tax on savings at the basic, higher and additional rates, all payers, United Kingdom, as the calendar-2025 window of the 2024-25 and 2025-26 projections: the base the Budget 2026 savings income rates are costed on. The incumbent registry binds no tax by income source or rate." }, { "kind": "ledger_only", - "ledger_value": 2587500000.0, + "ledger_value": 2237708612.980365, "name": "hmrc.itl.savings_tax_at_higher_rate", "period": 2025, "reason": "Coverage the incumbent lacks (microcosm#1418): HMRC's Income Tax liabilities Table 2.6 (July 2026) Income Tax on savings at the basic, higher and additional rates, all payers, United Kingdom, as the calendar-2025 window of the 2024-25 and 2025-26 projections: the base the Budget 2026 savings income rates are costed on. The incumbent registry binds no tax by income source or rate." diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json b/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json index 469216ffd7..64af9da554 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json @@ -4649,6 +4649,9 @@ "dfe.funded_childcare.working_parent_children_2_to_4", "dfi_ni.bus.passenger_receipts", "dwp.workplace_pension.employer_contributions", + "hmrc.itl.savings_tax_at_additional_rate", + "hmrc.itl.savings_tax_at_basic_rate", + "hmrc.itl.savings_tax_at_higher_rate", "nithc.public_transport_support", "obr.beer_and_cider_duties", "obr.wine_duties", @@ -8199,6 +8202,30 @@ "from": "2024", "to": "2025" }, + { + "name": "hmrc.itl.savings_tax_at_basic_rate", + "from": "2023", + "to": "2025", + "index": "obr.efo_2026_10.savings_income_growth", + "factor": "1.35618703816992", + "value_before_uprating": "1190000000.0" + }, + { + "name": "hmrc.itl.savings_tax_at_higher_rate", + "from": "2023", + "to": "2025", + "index": "obr.efo_2026_10.savings_income_growth", + "factor": "1.35618703816992", + "value_before_uprating": "1650000000.0" + }, + { + "name": "hmrc.itl.savings_tax_at_additional_rate", + "from": "2023", + "to": "2025", + "index": "obr.efo_2026_10.savings_income_growth", + "factor": "1.35618703816992", + "value_before_uprating": "2700000000.0" + }, { "name": "hmrc.spi.savings_interest_income.amount_by_total_income_band.band_100000", "from": "2023", @@ -23794,11 +23821,16 @@ "name": "hmrc.itl.savings_tax_at_basic_rate", "status": "active", "matched_fact_count_overall": 4, - "matched_fact_count_at_or_before_period": 3, + "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 1720000000.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_76d65d104935eb1a9e6c4d82" + "resolved_value": 1613862575.4222026, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_461e08050a646d69b81e5ef5", + "uprating": { + "index": "obr.efo_2026_10.savings_income_growth", + "factor": "1.35618703816992", + "value_before_uprating": "1190000000.0" + } } ] }, @@ -23809,11 +23841,16 @@ "name": "hmrc.itl.savings_tax_at_higher_rate", "status": "active", "matched_fact_count_overall": 4, - "matched_fact_count_at_or_before_period": 3, + "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 2587500000.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_29c9717012d95e7dd50c5d9c" + "resolved_value": 2237708612.980365, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_f83c68fe39bde903cdbad6a6", + "uprating": { + "index": "obr.efo_2026_10.savings_income_growth", + "factor": "1.35618703816992", + "value_before_uprating": "1650000000.0" + } } ] }, @@ -23824,11 +23861,16 @@ "name": "hmrc.itl.savings_tax_at_additional_rate", "status": "active", "matched_fact_count_overall": 4, - "matched_fact_count_at_or_before_period": 3, + "matched_fact_count_at_or_before_period": 1, "resolved_period": 2025, - "resolved_value": 4087500000.0, - "resolved_fact_period": "2025", - "resolved_fact_key": "ledger_aggregate_fact_v2_f936b73617f0b0a75a5289dd" + "resolved_value": 3661705003.058779, + "resolved_fact_period": "2023", + "resolved_fact_key": "ledger_aggregate_fact_v2_49c077ad9857be0df3fc43cb", + "uprating": { + "index": "obr.efo_2026_10.savings_income_growth", + "factor": "1.35618703816992", + "value_before_uprating": "2700000000.0" + } } ] }, diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_references.json b/packages/microcosm-build/src/microcosm/build/uk/target_references.json index 5db205f2fa..443182378a 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_references.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_references.json @@ -32515,8 +32515,10 @@ "contract_target_id": "hmrc.itl.savings_tax_at_basic_rate", "measure_kind": "prepared_column" }, - "assertion_policy": "allow_source_projection", - "value_operation": "calendar_year_window" + "uprating_index": "obr.efo_2026_10.savings_income_growth", + "value_operation": "sum", + "uprating_from_period": "2023", + "uprating_to_period": 2025 }, { "name": "hmrc.itl.savings_tax_at_higher_rate", @@ -32540,8 +32542,10 @@ "contract_target_id": "hmrc.itl.savings_tax_at_higher_rate", "measure_kind": "prepared_column" }, - "assertion_policy": "allow_source_projection", - "value_operation": "calendar_year_window" + "uprating_index": "obr.efo_2026_10.savings_income_growth", + "value_operation": "sum", + "uprating_from_period": "2023", + "uprating_to_period": 2025 }, { "name": "hmrc.itl.savings_tax_at_additional_rate", @@ -32565,8 +32569,10 @@ "contract_target_id": "hmrc.itl.savings_tax_at_additional_rate", "measure_kind": "prepared_column" }, - "assertion_policy": "allow_source_projection", - "value_operation": "calendar_year_window" + "uprating_index": "obr.efo_2026_10.savings_income_growth", + "value_operation": "sum", + "uprating_from_period": "2023", + "uprating_to_period": 2025 }, { "name": "hmrc.spi.savings_interest_income.amount_by_total_income_band.band_100000", diff --git a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json index 3c256b320c..a0158c32a7 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json +++ b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json @@ -21801,7 +21801,7 @@ "value_expression": "0.2 * basic_rate_savings_income_annual", "from_entity": "person", "map_to": "household", - "notes": "Income Tax on savings income at the basic rate (20%), all payers, United Kingdom, bound at the 2025 calibration period as the calendar-2025 window of HMRC's 2024-25 and 2025-26 projections (3/12 and 9/12; value_operation calendar_year_window) from Income Tax liabilities statistics Table 2.6 (July 2026), HMRC's projection of the 2023-24 SPI base. It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's basic_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (basic_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." + "notes": "Income Tax on savings income at the basic rate (20%), all payers, United Kingdom, bound at the 2025 calibration period as HMRC's 2023-24 outturn from Income Tax liabilities statistics Table 2.6 (July 2026), grown on the OBR's savings income path (selector_note). It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's basic_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (basic_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." }, "axiom": { "metric_name": "hmrc/itl_savings_tax/basic_rate", @@ -21819,10 +21819,10 @@ }, "entity_name": "person" }, - "value_operation": "calendar_year_window", - "assertion_policy": "allow_source_projection", "category_id": "hmrc.income_tax_liabilities_statistics", - "label": "Income Tax on savings at the basic rate" + "label": "Income Tax on savings at the basic rate", + "uprating_index": "obr.efo_2026_10.savings_income_growth", + "selector_note": "Uprated from HMRC's 2023-24 outturn to the 2025 calibration period by the OBR's forecast growth of savings income (October 2026 EFO, receipts Table 4.5), chained from 2023-24 and weighted over the two fiscal years overlapping calendar 2025, about x1.36: the path the Budget's savings costing grows its 2023-24 base by, and the one SPI Table 3.7's savings rows take (María's choice of 2026-10-31, option A, microcosm#1428). Only the observed year is read. HMRC's own 2024-25 and 2025-26 projections, as a calendar-2025 window, put the tax about 12% higher (x1.52 over the outturn against x1.36 for the income): the frozen Personal Savings Allowance and thresholds take a growing share of savings into tax, a leverage this anchor leaves out." }, { "target_id": "hmrc.itl.savings_tax_at_higher_rate", @@ -21851,7 +21851,7 @@ "value_expression": "0.4 * higher_rate_savings_income_annual", "from_entity": "person", "map_to": "household", - "notes": "Income Tax on savings income at the higher rate (40%), all payers, United Kingdom, bound at the 2025 calibration period as the calendar-2025 window of HMRC's 2024-25 and 2025-26 projections (3/12 and 9/12; value_operation calendar_year_window) from Income Tax liabilities statistics Table 2.6 (July 2026), HMRC's projection of the 2023-24 SPI base. It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's higher_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (higher_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." + "notes": "Income Tax on savings income at the higher rate (40%), all payers, United Kingdom, bound at the 2025 calibration period as HMRC's 2023-24 outturn from Income Tax liabilities statistics Table 2.6 (July 2026), grown on the OBR's savings income path (selector_note). It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's higher_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (higher_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." }, "axiom": { "metric_name": "hmrc/itl_savings_tax/higher_rate", @@ -21869,10 +21869,10 @@ }, "entity_name": "person" }, - "value_operation": "calendar_year_window", - "assertion_policy": "allow_source_projection", "category_id": "hmrc.income_tax_liabilities_statistics", - "label": "Income Tax on savings at the higher rate" + "label": "Income Tax on savings at the higher rate", + "uprating_index": "obr.efo_2026_10.savings_income_growth", + "selector_note": "Uprated from HMRC's 2023-24 outturn to the 2025 calibration period by the OBR's forecast growth of savings income (October 2026 EFO, receipts Table 4.5), chained from 2023-24 and weighted over the two fiscal years overlapping calendar 2025, about x1.36: the path the Budget's savings costing grows its 2023-24 base by, and the one SPI Table 3.7's savings rows take (María's choice of 2026-10-31, option A, microcosm#1428). Only the observed year is read. HMRC's own 2024-25 and 2025-26 projections, as a calendar-2025 window, put the tax about 12% higher (x1.52 over the outturn against x1.36 for the income): the frozen Personal Savings Allowance and thresholds take a growing share of savings into tax, a leverage this anchor leaves out." }, { "target_id": "hmrc.itl.savings_tax_at_additional_rate", @@ -21901,7 +21901,7 @@ "value_expression": "0.45 * add_rate_savings_income_annual", "from_entity": "person", "map_to": "household", - "notes": "Income Tax on savings income at the additional rate (45%), all payers, United Kingdom, bound at the 2025 calibration period as the calendar-2025 window of HMRC's 2024-25 and 2025-26 projections (3/12 and 9/12; value_operation calendar_year_window) from Income Tax liabilities statistics Table 2.6 (July 2026), HMRC's projection of the 2023-24 SPI base. It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's add_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (add_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." + "notes": "Income Tax on savings income at the additional rate (45%), all payers, United Kingdom, bound at the 2025 calibration period as HMRC's 2023-24 outturn from Income Tax liabilities statistics Table 2.6 (July 2026), grown on the OBR's savings income path (selector_note). It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's add_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (add_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." }, "axiom": { "metric_name": "hmrc/itl_savings_tax/additional_rate", @@ -21919,10 +21919,10 @@ }, "entity_name": "person" }, - "value_operation": "calendar_year_window", - "assertion_policy": "allow_source_projection", "category_id": "hmrc.income_tax_liabilities_statistics", - "label": "Income Tax on savings at the additional rate" + "label": "Income Tax on savings at the additional rate", + "uprating_index": "obr.efo_2026_10.savings_income_growth", + "selector_note": "Uprated from HMRC's 2023-24 outturn to the 2025 calibration period by the OBR's forecast growth of savings income (October 2026 EFO, receipts Table 4.5), chained from 2023-24 and weighted over the two fiscal years overlapping calendar 2025, about x1.36: the path the Budget's savings costing grows its 2023-24 base by, and the one SPI Table 3.7's savings rows take (María's choice of 2026-10-31, option A, microcosm#1428). Only the observed year is read. HMRC's own 2024-25 and 2025-26 projections, as a calendar-2025 window, put the tax about 12% higher (x1.52 over the outturn against x1.36 for the income): the frozen Personal Savings Allowance and thresholds take a growing share of savings into tax, a leverage this anchor leaves out." }, { "target_id": "hmrc.spi.savings_interest_income.amount_by_total_income_band", diff --git a/packages/microcosm-build/tests/engine/uk/test_uk_itl_savings_tax_rates.py b/packages/microcosm-build/tests/engine/uk/test_uk_itl_savings_tax_rates.py index bb142db3d5..3a8db7d154 100644 --- a/packages/microcosm-build/tests/engine/uk/test_uk_itl_savings_tax_rates.py +++ b/packages/microcosm-build/tests/engine/uk/test_uk_itl_savings_tax_rates.py @@ -3,8 +3,8 @@ Each ``hmrc.itl.savings_tax_at__rate`` row binds Table 2.6's tax on savings at one rate as that rate times the engine's savings income at it. These tests fail if policyengine-uk's savings rates move in either tax year of -the calendar-2025 window the rows bind, or if a row names another rate's -income. +calendar 2025, the period the rows are measured at, or if a row names another +rate's income. """ from __future__ import annotations @@ -47,7 +47,7 @@ def test_each_row_scales_its_rates_income_by_the_engines_rate(rate) -> None: "income_tax_component": f"savings_at_{rate}_rate" } parameters = CountryTaxBenefitSystem().parameters - # The window's two tax years: 2024-25 and 2025-26, read as the engine + # Calendar 2025's two tax years: 2024-25 and 2025-26, read as the engine # reads a year's parameters. for instant in ("2024-04-30", "2025-04-30"): savings = parameters(instant).gov.hmrc.income_tax.rates.savings diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py index 48d0668d39..fc09d276f7 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py @@ -51,7 +51,6 @@ "hmrc_itl", "hmrc_itl_marginal_rate", "hmrc_itl_age", - "hmrc_itl_savings_rate", "dwp_benefit_expenditure", } NATIONAL_SELECTOR_KEYS = { From 6485af4af1ad83046cc3e36d411a56270e34cd5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 10:55:01 +0000 Subject: [PATCH 38/67] Join UC take-up pools that cannot meet DWP's count MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit María's ruling of 2026-10-31 (microcosm#1428): fix the take-up pools instead of widening the gate again. The spine from d563f4fbc stopped at uk_stage_uc_take_up. Single people's caseload ended 0.0674 of DWP's count further from it than before the redraw: 0.0568 on f3cb3ddd3's spine, against this branch's 0.06. The reachable pools met DWP's counts. The gap was the pools whose DWP count exceeds every entitled unit, which kept a clipped rate, and which bands land there moves with small upstream changes. - After the source-support pooling, the stage joins a pool that cannot meet DWP's count to an adjacent pool (_join_unmet_pools). Such a pool's undrawn units' expected claims exceed the count, or the count exceeds them plus every drawn unit. Lowest first, it joins the neighbour with more room for its gap, the lower on a tie. Joining stops when every pool can meet its count or the family type is one pool. A family type whose count exceeds all its entitled units stays one unreachable pool. - The stage spec restates the pooling rule (sources.yaml, source_stages.json, UC_TAKE_UP_POOLING), and the coverage manifest and the H2 fixture follow. - uk_stage_uc_take_up returns to main's 0.055, undoing this branch's 0.06. The gate note, the committed-parameter test and the data contract's mirrored digests follow. - New tests: an unmet pool joins the neighbour with more room, or the lower one on a tie; an overshooting pool joins one with drawn claims; a family type that cannot meet its count is one unreachable pool, flagged by the side it misses on. Co-Authored-By: Claude Opus 5.5 --- ...28-uc-take-up-joins-unmet-pools.changed.md | 1 + .../src/microcosm/build/uk/gates.json | 4 +- .../uk/release_input_coverage_manifest.json | 46 ++++---- .../src/microcosm/build/uk/source_stages.json | 2 +- .../src/microcosm/build/uk/spec/sources.yaml | 2 +- .../microcosm/build/uk_runtime/uc_take_up.py | 101 +++++++++++++++--- .../engine_free/uk/test_uk_stage_health.py | 5 +- .../engine_free/uk/test_uk_uc_take_up.py | 98 ++++++++++++----- .../src/microcosm/data/contract.py | 10 +- .../tests/engine_free/shared/test_contract.py | 6 +- .../parity/uk_spine/sources/fixture.json | 2 +- .../fixtures/parity/uk_spine/uk_spine.json | 2 +- 12 files changed, 195 insertions(+), 84 deletions(-) create mode 100644 changelog.d/1428-uc-take-up-joins-unmet-pools.changed.md diff --git a/changelog.d/1428-uc-take-up-joins-unmet-pools.changed.md b/changelog.d/1428-uc-take-up-joins-unmet-pools.changed.md new file mode 100644 index 0000000000..f22378e19e --- /dev/null +++ b/changelog.d/1428-uc-take-up-joins-unmet-pools.changed.md @@ -0,0 +1 @@ +The Universal Credit take-up stage now joins a pool that cannot meet DWP's count to a neighbouring pool, so each family type's caseload lands on DWP's wherever its entitled units allow (#1428; María's ruling of 2026-10-31). The stage pools adjacent award bands within a family type until they rest on enough sources. A pool can't meet DWP's count when its reporters' and other undrawn units' expected claims already exceed it, or when it exceeds every entitled unit. Such a pool used to keep its clipped rate, which left the family type's caseload off DWP's by the gap. Which bands fell short also moved with small upstream changes: in this pull request single people's caseload ended 0.0568, then 0.0674, of DWP's count further from it than before the redraw. Now, lowest first, such a pool joins the adjacent pool with more room for its gap, the lower on a tie, until every pool can meet its count or the family type is one pool. The room is the claims the neighbour's drawn units can add beyond its own count when the pool falls short, or the drawn claims it can give up when the pool overshoots. The `uk_stage_uc_take_up` gate returns to main's 0.055, so the branch's widening to 0.06 is undone. The stage spec, the coverage manifest, the H2 fixture and the data contract's gate digests follow. diff --git a/packages/microcosm-build/src/microcosm/build/uk/gates.json b/packages/microcosm-build/src/microcosm/build/uk/gates.json index e2dc5623c8..ab25d57dc4 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/gates.json +++ b/packages/microcosm-build/src/microcosm/build/uk/gates.json @@ -635,9 +635,9 @@ "parameters": { "stage": "uc_take_up", "check": "uc_take_up", - "maximum_caseload_deviation": 0.06 + "maximum_caseload_deviation": 0.055 }, - "notes": "Stage-time gate over the Universal Credit take-up receipt (microcosm#1334): every reporter claims and no unit outside the draw changes; in each DWP family type the pools whose target is reachable realize DWP's calendar-2025 caseload within 0.06 of it at the stage's weights, Great Britain only, counting units the engine moves off their legacy benefits at their expected claim at the closure; and the family type's caseload is no further from DWP's than before the redraw, give or take 0.06 of DWP's count. The tolerance was 0.05 until microcosm#1418, whose routing of gilt interest out of dividend_income reshuffles the SPI channel's draws, and 0.055 until the savings follow-up (microcosm#1428, María's ruling of 2026-10-30). There the SPI donors' interest and other income, rebased to SPI's 2023-24 bands, feed the UC reporter redraw's investment-income predictor; the few SPI benefit units whose report changes move the stage's pool merging, which joins adjacent award bands until each pool rests on enough sources, and single people's GBP 1,000 to 1,100 band moves from a reachable pool into one whose DWP target exceeds the entitled units. On the spine of 2026-10-30 (667fe532a), single people's caseload ends 0.0568 of DWP's count further from it than before the redraw (0.0523 on the spine before, 5aba83cd2's), so 0.06 holds it with about 10,000 to spare; couples without children, couples with children and lone parents end closer than before by 0.55, 0.40 and 0.054 of their counts, and every family type's reachable pools realize DWP's count within 0.005. Pool boundaries that move with small upstream changes are a follow-up on microcosm#1334. The terminal take-up signal gate no longer measures would_claim_uc, whose rate is now set by award band and family type, not as one share of the age population." + "notes": "Stage-time gate over the Universal Credit take-up receipt (microcosm#1334): every reporter claims and no unit outside the draw changes; in each DWP family type the pools whose target is reachable realize DWP's calendar-2025 caseload within 0.055 of it at the stage's weights, Great Britain only, counting units the engine moves off their legacy benefits at their expected claim at the closure; and the family type's caseload is no further from DWP's than before the redraw, give or take 0.055 of DWP's count. The tolerance was 0.05 until microcosm#1418: routing gilt interest out of dividend_income reshuffles the SPI channel's draws. In the savings follow-up (microcosm#1428), small upstream changes moved single people's GBP 1,000 to 1,100 band into a pool whose DWP count exceeds its entitled units, and the family type's caseload ended 0.0568, then 0.0674, of DWP's count further from it than before the redraw. The stage now joins a pool that cannot meet its count to the adjacent pool with more room for its gap, so a family type's caseload lands on DWP's wherever its entitled units allow, and the tolerance stays at 0.055 (María's ruling of 2026-10-31). The terminal take-up signal gate no longer measures would_claim_uc, whose rate is now set by award band and family type, not as one share of the age population." }, { "id": "uk_stage_pension_credit_take_up", diff --git a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json index 65c2f558f1..d8a83e54c8 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json +++ b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json @@ -472,7 +472,7 @@ "required_mass_change_reason": "Capital-gains incidence anchor moves the mass of non-liable clone households back to their paired originals until the sub-exempt and loss-making clone mass match the Advani-Summers reporter composition at the redrawn liable mass; every pair's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "Advani and Summers (2020), Capital Gains and UK Inequality, CAGE Working Paper 465", "survey": "Family Resources Survey 2024-25, SPI synthetic support, the HMRC Table 3 redrawn gains on the spine and Advani-Summers capital-gains incidence" @@ -495,7 +495,7 @@ "capital_gains" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "Advani and Summers (2020), Capital Gains and UK Inequality, CAGE Working Paper 465", "survey": "Family Resources Survey 2024-25, SPI synthetic support, and Advani-Summers capital-gains incidence" @@ -518,7 +518,7 @@ "required_mass_change_reason": "Capital-gains residential split divides every household carrying liable gainers into arms weighted by the solved residential probabilities, one arm per subset of residential gainers; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "https://www.gov.uk/government/statistics/capital-gains-tax-statistics", "survey": "HMRC Capital Gains Tax statistics 2026 release, Table 8 (UK residential property disposals, 2024-25, administrative) on the amounts the Table 3 redraw placed" @@ -540,7 +540,7 @@ "required_mass_change_reason": "Capital-gains support split divides the wealthiest households of each HMRC Table 3 income band into light copies at equal weight; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "HMRC Capital Gains Tax statistics, July 2026 release, Table 3 for 2024-25, via the vendored conditioning facts", "survey": "Family Resources Survey 2024-25, SPI synthetic support and HMRC Capital Gains Tax statistics Table 3 (2024-25 individuals by size of gain and taxable income)" @@ -569,7 +569,7 @@ "required_mass_change_reason": "ETB public-services imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "UK Data Service SN 8856 Effects of Taxes and Benefits household tab, DfT rail fare index, and public NHS activity/cost table.", "survey": "Effects of Taxes and Benefits 1977-2024 and NHS age-gender public table" @@ -589,7 +589,7 @@ "required_mass_change_reason": "ETB VAT expenditure-rate imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "UK Data Service SN 8856 Effects of Taxes and Benefits household tab and cited VAT anchor resource.", "survey": "Effects of Taxes and Benefits 1977-2024" @@ -611,7 +611,7 @@ "required_mass_change_reason": "High-value home support divides every owner household in the top value stratum of its region into light copies at equal weight; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "Microcosm structural operator (microcosm#1240 fix 1); no publisher input", "survey": "Family Resources Survey 2024-25 and SPI synthetic support, after the WAS wealth draw and the regional property uprating" @@ -632,7 +632,7 @@ "required_mass_change_reason": "CGT asset-type assignment on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "https://www.gov.uk/government/statistics/capital-gains-tax-statistics", "survey": "HMRC Capital Gains Tax statistics 2026 release, Table 8 (UK residential property disposals, 2024-25, administrative), Table 4.1 (individuals claiming Business Asset Disposal Relief or Investors' Relief by band of qualifying gain, 2024-25, administrative) and Table 7 (disposals, proceeds and gains by asset type, 2023-24, sample-based), vendored from the pinned Chronicle feed" @@ -656,7 +656,7 @@ "capital_gains" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "conditioning_resource": "hmrc_cgt_conditioning_facts.json", "conditioning_resource_sha256": "f7425784231e1f6aa657d0f26fc02591d9523600eb12fce5d35becf5dabf7569", @@ -746,7 +746,7 @@ "full_frs_tei_band_unavailable" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "hmrc_surface": "2023-24", "mapped_build_period": "2024", @@ -773,7 +773,7 @@ "required_mass_change_reason": "ISA subscriptions per adult from HMRC's ISA tables on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "HMRC Individual Savings Account statistics Tables 9.4, 9.6 and 9.7 to 9.9, the cash ISA limit reduction impact note and Lifetime ISA Table 1a, via the vendored facts; Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed round-8 person and household tabs (interviews April 2020 to March 2022, Great Britain).", "survey": "HMRC Annual savings statistics (September 2026 release); Wealth and Assets Survey round 8" @@ -838,7 +838,7 @@ "required_mass_change_reason": "LCFS consumption imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "UK Data Service SN 9603 Living Costs and Food Survey 2024-25 (2nd edition) household/person tabs and the vendored Chronicle facts for NEED 2024 mean kWh, DESNZ Energy Trends and QEP average prices paid for calendar 2024, road-fuel outturn (DESNZ, HMRC, ONS Consumer Trends) and road fuel by vehicle type (DESNZ), ONS Consumer Trends household spending by COICOP division, the DfT VEH1103 licensed-car stock, NTS bus use, and the DfT and devolved bus finance tables and fares indices.", "survey": "Living Costs and Food Survey 2024-25" @@ -864,7 +864,7 @@ "required_mass_change_reason": "NTS bus-travel imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "Department for Transport National Travel Survey, UK Data Service SN 5340 (End User Licence, 19th edition, November 2025), DOI 10.5255/UKDA-SN-5340-19; local licensed tab files (household, individual, trip); England residents only from 2013.", "survey": "National Travel Survey 2002-2024" @@ -884,7 +884,7 @@ "required_mass_change_reason": "Private-school attendance stored on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "policyengine-uk attends_private_school (the gov.simulation.private_school_vat attendance rates and factor), evaluated by the pinned engine", "survey": "policyengine-uk private-school attendance imputation, stored at the spine's weights" @@ -907,7 +907,7 @@ "property_finance_costs" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "https://www.gov.uk/government/statistics/property-rental-income-statistics", "survey": "Survey of Personal Incomes Public Use Tape 2022-23 and HMRC Property Rental Income Statistics 2026 (tax year 2024-25)" @@ -928,7 +928,7 @@ "required_mass_change_reason": "Annual property purchases imputed on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "https://www.gov.uk/government/statistics/uk-stamp-tax-statistics", "survey": "HMRC Annual Stamp Tax Statistics 2024 to 2025 (corrected 11 March 2026), Tables 6b, 8a and 8b" @@ -951,7 +951,7 @@ "property_wealth" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "uk/high_value_home_value_knots.json, built by tools/build_uk_high_value_home_stock.py from PolicyEngine/chronicle#343's registrations", "survey": "HM Land Registry Price Paid latest sales uprated with the UK House Price Index, owner-weighted by region (the dense value node's knots, region level)" @@ -975,7 +975,7 @@ "non_residential_property_value" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "MHCLG dwellings and the UK House Price Index regional average price averaged over the twelve months of calendar 2024 from the July 2026 full file, the frame's valuation basis, so the engine's annual uprating from 2024 projects the value once (microcosm#1240 fix 5).", "survey": "Public regional property reference" @@ -1003,7 +1003,7 @@ "employment_income" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "HMRC, Salary sacrifice reform for pension contributions effective from 6 April 2029", "survey": "Family Resources Survey 2024-25 salary-sacrifice respondents and HMRC salary-sacrifice reform analysis" @@ -1036,7 +1036,7 @@ "household_source_id" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "Reserved SPI support households for the HMRC Table 2.5 total-income bands from GBP 200,000, stacked at the published band taxpayer count over the donors per band (PolicyEngine/chronicle#280 lane).", "survey": "Survey of Personal Incomes Public Use Tape 2022-23 and HMRC Income Tax liabilities statistics July 2026 Table 2.5" @@ -1058,7 +1058,7 @@ "student_loan_plan" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "Explore Education Statistics Table 6a, Higher education total", "survey": "Family Resources Survey 2024-25 and Student Loans Company borrower forecasts for England" @@ -1080,7 +1080,7 @@ "required_mass_change_reason": "WAS Lifetime ISA imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed round-8 person and household tabs (interviews April 2020 to March 2022, Great Britain).", "survey": "Wealth and Assets Survey round 8" @@ -1119,7 +1119,7 @@ "required_mass_change_reason": "WAS wealth imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "0027c349c78f2c93bd4bcccfe307e52d8a3d0f5b26af7276c63b1070da481c82", + "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", "source_vintages": { "source": "Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed 2006-22 household tab.", "survey": "Wealth and Assets Survey round 8" diff --git a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json index 71bdc0a198..1bac6c6296 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json @@ -6189,7 +6189,7 @@ "family_type": "two FRS claimant or partner roles make a couple; children are UC children or qualifying young people and other non-claimants under 20 (the calibration measure's uc_calibration_family_type)", "award_bands": "GBP 1,200 a year (DWP's GBP 100 a month), (1,200 i, 1,200 (i + 1)] in whole pence for i < 25, and above GBP 30,000", "targets": "DWP Stat-Xplore Households on Universal Credit by family type and monthly award band, mean of April to December 2025", - "pooling": "adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it", + "pooling": "adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) joins the adjacent pool with more room for its gap, the lower on a tie, until every pool can meet its count or the family type is one pool", "minimum_pool_sources": 30, "drawn_units": "entitled, non-reporting units of the population that the engine does not move off their legacy benefits (legacy_benefits_closed) and that report none, since a legacy benefit the engine leaves in place ends once the unit claims UC", "undrawn_claims": "a reporter at 1, a moved unit at the claim probability uc_legacy_closure_take_up's rule gives it (dwp_move_to_uc_facts.json), a unit keeping income-related ESA at 0, any other at its stored flag", diff --git a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml index cec688b9a0..24c411a8e9 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml +++ b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml @@ -4994,7 +4994,7 @@ stages: family_type: two FRS claimant or partner roles make a couple; children are UC children or qualifying young people and other non-claimants under 20 (the calibration measure's uc_calibration_family_type) award_bands: GBP 1,200 a year (DWP's GBP 100 a month), (1,200 i, 1,200 (i + 1)] in whole pence for i < 25, and above GBP 30,000 targets: DWP Stat-Xplore Households on Universal Credit by family type and monthly award band, mean of April to December 2025 - pooling: adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it + pooling: adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) joins the adjacent pool with more room for its gap, the lower on a tie, until every pool can meet its count or the family type is one pool minimum_pool_sources: 30 drawn_units: entitled, non-reporting units of the population that the engine does not move off their legacy benefits (legacy_benefits_closed) and that report none, since a legacy benefit the engine leaves in place ends once the unit claims UC undrawn_claims: a reporter at 1, a moved unit at the claim probability uc_legacy_closure_take_up's rule gives it (dwp_move_to_uc_facts.json), a unit keeping income-related ESA at 0, any other at its stored flag diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/uc_take_up.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/uc_take_up.py index 9d901698cc..e0e24af9b3 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/uc_take_up.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/uc_take_up.py @@ -55,7 +55,7 @@ from __future__ import annotations -from collections.abc import Mapping, Sequence +from collections.abc import Callable, Mapping, Sequence from dataclasses import dataclass, field from typing import Any @@ -119,6 +119,7 @@ "UC_TAKE_UP_ENTITLEMENT_VARIABLES", "UC_TAKE_UP_MINIMUM_POOL_SOURCES", "UC_TAKE_UP_OPERATION_KIND", + "UC_TAKE_UP_POOLING", "UC_TAKE_UP_RECORD_SETS", "UC_TAKE_UP_RESOURCE", "UC_TAKE_UP_STAGE_NAME", @@ -187,6 +188,15 @@ f"£{100 * _BOUND_BANDS}.01 or over", ) UC_TAKE_UP_MINIMUM_POOL_SOURCES = 30 +UC_TAKE_UP_POOLING = ( + "adjacent bands within a family type, lowest first, until the drawn units " + "rest on minimum_pool_sources distinct household_source_id values; a short " + "last pool joins the one before it. Then, lowest first, a pool that cannot " + "meet DWP's count (its undrawn entitled units' expected claims exceed the " + "count, or the count exceeds them plus the weight of every drawn unit) joins " + "the adjacent pool with more room for its gap, the lower on a tie, until " + "every pool can meet its count or the family type is one pool" +) UC_TAKE_UP_RESIDUAL_RATE = ( "(T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the " "pool's bands, D the weight of the pool's drawn units and F the expected " @@ -332,6 +342,55 @@ def _pools( return pools +def _join_unmet_pools( + pools: list[list[int]], + balance: Callable[[list[int]], tuple[float, float, float]], +) -> list[list[int]]: + """Join, lowest first, each pool that cannot meet DWP's count to a neighbour. + + ``balance`` gives a pool's DWP count ``T``, the expected claims ``F`` of its + undrawn entitled units and the weight ``D`` of its drawn units. A pool + cannot meet ``T`` when ``F`` already exceeds it or when ``T`` exceeds + ``F + D``; its clipped rate then leaves the family type's caseload off + DWP's by the gap, and which bands fall short moves with small upstream + changes (microcosm#1428). The pool joins the adjacent pool with more room + for its gap, the lower on a tie: the claims the neighbour's drawn units can + add beyond its own count (``F + D - T``) when the pool falls short, or the + drawn claims it can give up (``T - F``) when the pool overshoots. Joining + repeats until every pool can meet its count or the family type is one + pool, as a family type whose count exceeds all its entitled units stays. + """ + + pools = [list(bands) for bands in pools] + while len(pools) > 1: + sums = [balance(bands) for bands in pools] + unmet = next( + ( + index + for index, (target, undrawn, drawn) in enumerate(sums) + if target < undrawn or target > undrawn + drawn + ), + None, + ) + if unmet is None: + break + target, undrawn, drawn = sums[unmet] + short = target > undrawn + drawn + rooms = { + index: ( + sums[index][1] + sums[index][2] - sums[index][0] + if short + else sums[index][0] - sums[index][1] + ) + for index in (unmet - 1, unmet + 1) + if 0 <= index < len(pools) + } + partner = max(rooms.items(), key=lambda item: (item[1], -item[0]))[0] + low, high = sorted((unmet, partner)) + pools[low : high + 1] = [pools[low] + pools[high]] + return pools + + def _realized_rate( residual: float, *, need: float, draws: np.ndarray, weights: np.ndarray ) -> float: @@ -452,22 +511,35 @@ def assign_award_band_take_up( def sources(mask: np.ndarray) -> int: return distinct_count(source_ids, mask, weights) + def balance( + name: str, in_family: np.ndarray, bands: list[int] + ) -> tuple[float, float, float]: + solve = in_family & np.isin(band, bands) & gb + return ( + float(sum(targets[(name, index)] for index in bands)), + float((weights * fixed)[solve & ~drawable].sum()), + float(weights[solve & drawable].sum()), + ) + pools: list[dict[str, object]] = [] for name, _ in UC_FAMILY_TYPES: in_family = family == name - for bands in _pools( - band=band, - in_family=in_family, - drawable_gb=drawable & gb, - source_ids=source_ids, - weights=weights, - minimum_sources=minimum_pool_sources, + for bands in _join_unmet_pools( + _pools( + band=band, + in_family=in_family, + drawable_gb=drawable & gb, + source_ids=source_ids, + weights=weights, + minimum_sources=minimum_pool_sources, + ), + lambda bands, name=name, in_family=in_family: balance( + name, in_family, bands + ), ): in_pool = in_family & np.isin(band, bands) solve = in_pool & gb - target = float(sum(targets[(name, index)] for index in bands)) - undrawn = float((weights * fixed)[solve & ~drawable].sum()) - drawn = float(weights[solve & drawable].sum()) + target, undrawn, drawn = balance(name, in_family, bands) # Where the undrawn claims reach DWP's count, or the count exceeds # every entitled unit, the clipped rate cannot meet it. if drawn > 0.0: @@ -946,12 +1018,7 @@ def uc_take_up_operation_parameters() -> tuple[tuple[str, dict[str, object]], .. "DWP Stat-Xplore Households on Universal Credit by family type " "and monthly award band, mean of April to December 2025" ), - "pooling": ( - "adjacent bands within a family type, lowest first, until the " - "drawn units rest on minimum_pool_sources distinct " - "household_source_id values; a short last pool joins the one " - "before it" - ), + "pooling": UC_TAKE_UP_POOLING, "minimum_pool_sources": UC_TAKE_UP_MINIMUM_POOL_SOURCES, "drawn_units": ( "entitled, non-reporting units of the population that the " diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_stage_health.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_stage_health.py index c3243951a5..54ea2e9c51 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_stage_health.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_stage_health.py @@ -2322,11 +2322,12 @@ def family(dwp, before, after, reachable, realized): "reachable_pools_caseload_after": realized, } - # 0.05 until microcosm#1418, 0.055 until the savings follow-up (microcosm#1428). + # 0.05 until microcosm#1418; the savings follow-up (microcosm#1428) joins + # unmet pools instead of widening it. parameters = { "stage": "uc_take_up", "check": "uc_take_up", - "maximum_caseload_deviation": 0.06, + "maximum_caseload_deviation": 0.055, } def gate(families, **counts): diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_uc_take_up.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_uc_take_up.py index ba9ed57c27..b9057fcf5b 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_uc_take_up.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_uc_take_up.py @@ -233,9 +233,11 @@ def test_a_pool_nearer_zero_than_its_first_unit_draws_no_claimant() -> None: assert would_claim.tolist() == [True, False] -def test_clipped_pools_are_flagged_unreachable() -> None: - # Band 0: reporters alone exceed DWP's count, so no drawn unit claims. - # Band 2: DWP's count exceeds every entitled unit, so all of them claim. +def test_a_family_type_that_cannot_meet_its_count_is_flagged_unreachable() -> None: + # Band 0: reporters alone exceed DWP's count; band 2: the count exceeds + # every entitled unit. Neither pool can meet its count, so they join + # (microcosm#1428), and the joined pool still falls short: every drawn + # unit claims. award = np.asarray([100.0] * 4 + [3_000.0] * 4) reporter = np.asarray([True, True, True, False, False, False, False, False]) would_claim, receipt = _assign( @@ -246,38 +248,78 @@ def test_clipped_pools_are_flagged_unreachable() -> None: source_ids=np.arange(8), minimum_pool_sources=1, ) - assert would_claim.tolist() == [True, True, True, False, True, True, True, True] + assert would_claim.all() + (pool,) = [pool for pool in receipt["pools"] if pool["family_type"] == "SINGLE"] + assert pool["bands"] == list(UC_AWARD_BAND_LABELS) + assert pool["target_unreachable"] == "<10" + assert all("rate" not in pool for pool in receipt["pools"]) + # With ten or more sources behind a pool the flag says which side it is + # on: the singles' reporters exceed their count, and the couples' count + # exceeds every entitled unit. + family = np.asarray(["SINGLE"] * 12 + ["COUPLE_NO_CHILDREN"] * 12, dtype=object) + _, receipt = _assign( + award=np.asarray([100.0] * 12 + [3_000.0] * 12), + family=family, + reporter=np.asarray([True] * 12 + [False] * 12), + targets=_targets(SINGLE_0=2.0, COUPLE_NO_CHILDREN_2=50.0), + minimum_pool_sources=1, + ) flags = { - tuple(pool["bands"]): pool["target_unreachable"] + pool["family_type"]: pool["target_unreachable"] for pool in receipt["pools"] - if pool["family_type"] == "SINGLE" + if pool["family_type"] in {"SINGLE", "COUPLE_NO_CHILDREN"} } - assert flags[(UC_AWARD_BAND_LABELS[0],)] == "<10" - pools = receipt["pools"] - assert all("rate" not in pool for pool in pools) - # With ten or more sources behind a pool the flag says which side it is on. - many = np.asarray([100.0] * 12 + [3_000.0] * 12) + assert flags == { + "SINGLE": "undrawn_claims_reach_target", + "COUPLE_NO_CHILDREN": "target_exceeds_entitled", + } + # No pool is reachable, so the gate's reachable totals are empty. + assert receipt["families"]["SINGLE"]["reachable_pools_dwp_caseload"] == 0.0 + + +def test_a_pool_that_cannot_meet_its_count_joins_the_neighbour_with_more_room() -> None: + # Band 0: four drawn units and a count of 3 (one claim to spare); band 2: + # two drawn units and a count of 5 (three short); band 4: ten drawn units + # and a count of 5 (five to spare). Band 2's pool joins band 4's, which + # has more room, band 0 keeps its own, and the singles land on DWP's 13 + # (microcosm#1428). + award = np.asarray([600.0] * 4 + [3_000.0] * 2 + [5_500.0] * 10) + would_claim, receipt = _assign( + award=award, targets=_targets(SINGLE_0=3.0, SINGLE_2=5.0, SINGLE_4=5.0) + ) + assert [ + pool["bands"] for pool in receipt["pools"] if pool["family_type"] == "SINGLE" + ] == [[UC_AWARD_BAND_LABELS[0]], list(UC_AWARD_BAND_LABELS[1:])] + assert int(would_claim[:4].sum()) == 3 + assert int(would_claim[4:].sum()) == 10 + single = receipt["families"]["SINGLE"] + assert single["caseload_after"] == pytest.approx(13.0) + assert single["reachable_pools_dwp_caseload"] == pytest.approx(13.0) + # On equal room the lower neighbour takes the pool. + award = np.asarray([600.0] * 3 + [3_000.0] + [5_500.0] * 3) _, receipt = _assign( - award=many, - reporter=np.asarray([True] * 10 + [False] * 14), - targets=_targets(SINGLE_0=2.0, SINGLE_2=50.0), - minimum_pool_sources=1, + award=award, targets=_targets(SINGLE_0=1.0, SINGLE_2=2.0, SINGLE_4=1.0) ) + assert [ + pool["bands"] for pool in receipt["pools"] if pool["family_type"] == "SINGLE" + ] == [list(UC_AWARD_BAND_LABELS[:3]), list(UC_AWARD_BAND_LABELS[3:])] - # Band 1 holds no unit, so it pools with band 2, and the empty bands above - # join that pool. - def flag(label): - return next( - pool["target_unreachable"] - for pool in receipt["pools"] - if pool["family_type"] == "SINGLE" and label in pool["bands"] - ) - assert flag(UC_AWARD_BAND_LABELS[0]) == "undrawn_claims_reach_target" - assert flag(UC_AWARD_BAND_LABELS[2]) == "target_exceeds_entitled" - single = receipt["families"]["SINGLE"] - # No pool is reachable, so the gate's reachable totals are empty. - assert single["reachable_pools_dwp_caseload"] == 0.0 +def test_a_pool_whose_reporters_overshoot_joins_one_with_drawn_claims() -> None: + # Band 0: three reporters, one drawn unit and a count of 1 (two over); + # band 2: six drawn units and a count of 4. The joined pool's seven drawn + # units carry the two claims DWP's 5 leaves after the reporters. + award = np.asarray([600.0] * 4 + [3_000.0] * 6) + reporter = np.asarray([True] * 3 + [False] * 7) + would_claim, receipt = _assign( + award=award, reporter=reporter, targets=_targets(SINGLE_0=1.0, SINGLE_2=4.0) + ) + assert would_claim[:3].all() + assert int(would_claim[3:].sum()) == 2 + assert [ + pool["bands"] for pool in receipt["pools"] if pool["family_type"] == "SINGLE" + ] == [list(UC_AWARD_BAND_LABELS)] + assert receipt["families"]["SINGLE"]["caseload_after"] == pytest.approx(5.0) def test_undrawn_units_keep_their_flag_and_count_at_their_expected_claim() -> None: diff --git a/packages/microcosm-data/src/microcosm/data/contract.py b/packages/microcosm-data/src/microcosm/data/contract.py index e75f0abf7e..0cc27a7725 100644 --- a/packages/microcosm-data/src/microcosm/data/contract.py +++ b/packages/microcosm-data/src/microcosm/data/contract.py @@ -451,13 +451,13 @@ def compatibility_claim_declarer_error(declared_by: object) -> str | None: # fingerprint derives from the manifest digest. Editing the spec moves all # three here in the same reviewed change. _UK_GATE_BATTERY_POLICY_SHA256 = ( - "0fd1b0957de69ecd8df1f1d4f5bd546b968a31ef0235b572a9f585aabc2837dd" + "29c866ba365999cfd39a5ddceb94e159396759e575a8ac99de619e3f03525653" ) _UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "5aed4520e068f88eb3016890e58384d1b0ccd0f7df1df1d907f976399f44e57e" + "e8be5fdad3bd421d251123fc9a518f84c845937ae225ca8a4a2ea26be1fa7f6d" ) _UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "d24b179da4d9a940be83a09da9e7d6bd51ffa1bd91b8f9d786ed5ca2835225dc" + "d02b24f26a0f33a507b70d0cea047333278d0cdc952c765342943d42bcc74cf8" ) #: Spec entry id -> the legacy gate name whose observable detail checks #: apply unchanged (the battery re-keys the report by entry id; the gate @@ -964,10 +964,10 @@ def _uk_line_cut_tag_re(release_id: str) -> re.Pattern[str] | None: _UK_CERTIFICATION_PART_DIGESTS: Mapping[str, Mapping[str, str]] = { "spine": { "gates_manifest_sha256": ( - "a2939994c03c48423f0dbe305bfad8972ef65487234f9b4e86eb6b086bcb817a" + "f8ba93bf165c3aa67b7b1893161d1e517ad36f27b52eb4c5b224f150fca05657" ), "policy_sha256": ( - "2b25addb7675b200e816169b49d3cfe5ac6430b78845af9536fda4718226087a" + "390a79297f7817def126c7805f492328c447e6a0d6d376dc8b946b98b9f96725" ), }, "calibration_seam": { diff --git a/packages/microcosm-data/tests/engine_free/shared/test_contract.py b/packages/microcosm-data/tests/engine_free/shared/test_contract.py index 04c9ade1f7..648d44be4e 100644 --- a/packages/microcosm-data/tests/engine_free/shared/test_contract.py +++ b/packages/microcosm-data/tests/engine_free/shared/test_contract.py @@ -220,13 +220,13 @@ def _trusted_terminal_gate_signing_key(monkeypatch) -> None: UK_GATE_BATTERY_PRODUCER = "microcosm.build.gate_battery" UK_GATE_BATTERY_SIGNING_KEY_ENV = "MICROCOSM_UK_TERMINAL_GATE_SIGNING_KEY" UK_GATE_BATTERY_POLICY_SHA256 = ( - "0fd1b0957de69ecd8df1f1d4f5bd546b968a31ef0235b572a9f585aabc2837dd" + "29c866ba365999cfd39a5ddceb94e159396759e575a8ac99de619e3f03525653" ) UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "5aed4520e068f88eb3016890e58384d1b0ccd0f7df1df1d907f976399f44e57e" + "e8be5fdad3bd421d251123fc9a518f84c845937ae225ca8a4a2ea26be1fa7f6d" ) UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "d24b179da4d9a940be83a09da9e7d6bd51ffa1bd91b8f9d786ed5ca2835225dc" + "d02b24f26a0f33a507b70d0cea047333278d0cdc952c765342943d42bcc74cf8" ) UK_GATE_BATTERY_DEGENERATE_EVIDENCE_SHA256 = ( "f246388de42654dd68dbbb40c42282001b5b0a8bf48976162bcb1199085cb1d3" diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json index b1f403b99c..eeda6609c7 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json @@ -7135,7 +7135,7 @@ "minimum_pool_sources": 30, "not_drawn": "keeps its stored flag, except a unit keeping income-related ESA, which claims none", "output": "would_claim_uc", - "pooling": "adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it", + "pooling": "adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) joins the adjacent pool with more room for its gap, the lower on a tie, until every pool can meet its count or the family type is one pool", "population": "uc_age_eligible", "residual_rate": "(T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the pool's bands, D the weight of the pool's drawn units and F the expected claims of its other entitled units, over Great Britain at the stage's household weights; realized by the drawn units claiming in the order of their uniform until their weight is nearest T - F, and applied at that uniform to Northern Ireland's drawn units too", "seed": 0, diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json index 35b949a3bb..5251bdd260 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json @@ -1 +1 @@ -{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"fdf572b7d163a1c14a8351e821087437ccc4b228434d72e640e94dc9151bbc90","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} +{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"8323227c614289f0aca067f8cf9beeb7cb32fc5745debde5851262fab77cedd2","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} From f3540cbc63a099a3854d143020f606ced2cf62b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 11:27:37 +0000 Subject: [PATCH 39/67] Store the self-employed's gross receipts for the trading allowance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit María's choice of 2026-10-31 (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records. Without receipts it relieved profits up to the allowance in full and nothing above. So the Budget's raise to GBP 3,000 missed its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. - A new last spine stage, trading_allowance_receipts, flags each trader with a positive profit as a claimant, drawn on their own person_id: 0.64 for profits up to GBP 4,500, 0.32 from GBP 4,500 to GBP 9,000, none above. - It stores receipts of profit plus GBP 1,000 for a claimant, exact under current law, and profit plus GBP 3,000 for any other trader (expenses at the raised allowance; the costing books switchers as behaviour). A person with no positive profit keeps zero. - The rates are calibrated to HMRC's policy paper (about 400,000 taxpayers with a lower bill, about GBP 380 on average) until HMRC publishes claimant counts. - Every trader with a positive profit is treated as filing, as the bound Table 3.10 counts are of filers. So a profit of GBP 1,000 or less is now taxed. - Wiring: - the operation kind in the stage schema and the allowed kinds; - the stage in sources.yaml and source_stages.json, with its mass receipt; - the graph reads and cell, the kernel modules, the spine build and fixture implementations, and the coverage manifest family. - self_employment_gross_receipts leaves UK_ENGINE_DEFAULT_INPUTS and joins the export surface's allowed columns (terminal_gates and gates.json), so the data contract's gate digests follow. - Tests: the stage's own, and the rosters (51 stages). The H2 fixture follows. Co-Authored-By: Claude Opus 5.5 --- .../1428-trading-allowance-receipts.added.md | 1 + .../src/microcosm/build/source_manifest.py | 2 + .../spec_engine/schema/sources.schema.json | 69 ++++ .../src/microcosm/build/uk/gates.json | 1 + .../uk/release_input_coverage_manifest.json | 66 ++-- .../src/microcosm/build/uk/source_stages.json | 46 +++ .../src/microcosm/build/uk/spec/sources.yaml | 30 ++ .../src/microcosm/build/uk_runtime/graph.py | 6 + .../build/uk_runtime/graph_kernels.py | 8 + .../microcosm/build/uk_runtime/spine_build.py | 9 + .../build/uk_runtime/terminal_gates.py | 3 + .../uk_runtime/trading_allowance_receipts.py | 362 ++++++++++++++++++ .../uk/test_uk_release_input_coverage.py | 1 + .../engine_free/shared/test_country_spec.py | 5 +- .../tests/engine_free/uk/test_uk_graph.py | 5 +- .../engine_free/uk/test_uk_source_stages.py | 8 +- .../uk/test_uk_spine_acceptance_receipt.py | 6 +- .../uk/test_uk_trading_allowance_receipts.py | 145 +++++++ .../src/microcosm/data/contract.py | 10 +- .../tests/engine_free/shared/test_contract.py | 6 +- .../adapters/policyengine_uk_concepts.py | 12 - .../parity/uk_spine/sources/fixture.json | 48 +++ .../fixtures/parity/uk_spine/uk_spine.json | 2 +- ...uild_uk_release_input_coverage_manifest.py | 4 + tools/graph_uk_spine_fixture.py | 8 +- 25 files changed, 811 insertions(+), 52 deletions(-) create mode 100644 changelog.d/1428-trading-allowance-receipts.added.md create mode 100644 packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py create mode 100644 packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py diff --git a/changelog.d/1428-trading-allowance-receipts.added.md b/changelog.d/1428-trading-allowance-receipts.added.md new file mode 100644 index 0000000000..7d427d1059 --- /dev/null +++ b/changelog.d/1428-trading-allowance-receipts.added.md @@ -0,0 +1 @@ +A new last spine stage, `trading_allowance_receipts`, stores the self-employed's gross receipts (`self_employment_gross_receipts`), so policyengine-uk applies the trading allowance against receipts as the law does (#1428; María's choice of 2026-10-31). Neither the FRS nor the SPI tape records turnover. Without receipts the engine relieved profits up to the allowance in full and nothing above it, so a rise in the allowance missed its main base: traders who already claim the £1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus £1,000 exactly. Each trader with a positive profit is flagged as a claimant with probability 0.64 for profits up to £4,500, 0.32 from £4,500 to £9,000 and none above, drawn on their own `person_id`. A claimant's receipts are their profit plus £1,000; any other trader's are their profit plus £3,000, expenses at the raised allowance, since the costing books traders who switch to the allowance as behaviour. The rates are calibrated to HMRC's policy paper (about 400,000 taxpayers with a lower bill, by about £380 on average) until HMRC publishes claimant counts. Every trader with a positive profit is treated as filing, as the Table 3.10 counts the calibration binds are of filers, so a profit of £1,000 or less is now taxed where the engine used to relieve it in full. `self_employment_gross_receipts` leaves the register of engine inputs left at their default and joins the export surface's allowed columns. The stage spec and schema, the graph and kernel wiring, the spine build, the coverage manifest, the H2 fixture and the data contract's gate digests follow. diff --git a/packages/microcosm-build/src/microcosm/build/source_manifest.py b/packages/microcosm-build/src/microcosm/build/source_manifest.py index 00d13a4cf5..36f979185b 100644 --- a/packages/microcosm-build/src/microcosm/build/source_manifest.py +++ b/packages/microcosm-build/src/microcosm/build/source_manifest.py @@ -58,6 +58,8 @@ "assign_student_loan_plan_cohorts", "assign_main_asset_type", "assign_trips_from_band_means", + # microcosm#1428: the self-employed's gross receipts. + "assign_trading_allowance_receipts", "assign_uniform_draw", "aggregate_person_to_benunit", "allocate_per_capita_from_cell_table", diff --git a/packages/microcosm-build/src/microcosm/build/spec_engine/schema/sources.schema.json b/packages/microcosm-build/src/microcosm/build/spec_engine/schema/sources.schema.json index 51b7208ffa..d40dfeaf13 100644 --- a/packages/microcosm-build/src/microcosm/build/spec_engine/schema/sources.schema.json +++ b/packages/microcosm-build/src/microcosm/build/spec_engine/schema/sources.schema.json @@ -6612,6 +6612,75 @@ } } }, + { + "type": "object", + "additionalProperties": false, + "required": [ + "kind", + "output", + "profit", + "draw", + "seed", + "claimant_bands", + "claimant_expenses", + "other_expenses", + "calibration", + "rule" + ], + "properties": { + "kind": { + "const": "assign_trading_allowance_receipts" + }, + "output": { + "type": "string" + }, + "profit": { + "type": "string" + }, + "draw": { + "type": "string" + }, + "seed": { + "type": "integer" + }, + "claimant_bands": { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": false, + "required": [ + "rate" + ], + "properties": { + "upper_inclusive": { + "type": "number", + "exclusiveMinimum": 0 + }, + "rate": { + "type": "number", + "minimum": 0, + "maximum": 1 + } + } + } + }, + "claimant_expenses": { + "type": "number", + "minimum": 0 + }, + "other_expenses": { + "type": "number", + "minimum": 0 + }, + "calibration": { + "type": "string" + }, + "rule": { + "type": "string" + } + } + }, { "type": "object", "additionalProperties": false, diff --git a/packages/microcosm-build/src/microcosm/build/uk/gates.json b/packages/microcosm-build/src/microcosm/build/uk/gates.json index ab25d57dc4..2e0c927100 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/gates.json +++ b/packages/microcosm-build/src/microcosm/build/uk/gates.json @@ -1251,6 +1251,7 @@ "person.private_pension_income_annual_share", "person.self_employment_income_annual_share", "person.self_employment_income_other_spells", + "person.self_employment_gross_receipts", "person.esa_health_condition_proxy", "person.esa_includes_support_component", "person.esa_support_group_proxy", diff --git a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json index d8a83e54c8..85806b2a46 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json +++ b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json @@ -472,7 +472,7 @@ "required_mass_change_reason": "Capital-gains incidence anchor moves the mass of non-liable clone households back to their paired originals until the sub-exempt and loss-making clone mass match the Advani-Summers reporter composition at the redrawn liable mass; every pair's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "Advani and Summers (2020), Capital Gains and UK Inequality, CAGE Working Paper 465", "survey": "Family Resources Survey 2024-25, SPI synthetic support, the HMRC Table 3 redrawn gains on the spine and Advani-Summers capital-gains incidence" @@ -495,7 +495,7 @@ "capital_gains" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "Advani and Summers (2020), Capital Gains and UK Inequality, CAGE Working Paper 465", "survey": "Family Resources Survey 2024-25, SPI synthetic support, and Advani-Summers capital-gains incidence" @@ -518,7 +518,7 @@ "required_mass_change_reason": "Capital-gains residential split divides every household carrying liable gainers into arms weighted by the solved residential probabilities, one arm per subset of residential gainers; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "https://www.gov.uk/government/statistics/capital-gains-tax-statistics", "survey": "HMRC Capital Gains Tax statistics 2026 release, Table 8 (UK residential property disposals, 2024-25, administrative) on the amounts the Table 3 redraw placed" @@ -540,7 +540,7 @@ "required_mass_change_reason": "Capital-gains support split divides the wealthiest households of each HMRC Table 3 income band into light copies at equal weight; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "HMRC Capital Gains Tax statistics, July 2026 release, Table 3 for 2024-25, via the vendored conditioning facts", "survey": "Family Resources Survey 2024-25, SPI synthetic support and HMRC Capital Gains Tax statistics Table 3 (2024-25 individuals by size of gain and taxable income)" @@ -569,7 +569,7 @@ "required_mass_change_reason": "ETB public-services imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "UK Data Service SN 8856 Effects of Taxes and Benefits household tab, DfT rail fare index, and public NHS activity/cost table.", "survey": "Effects of Taxes and Benefits 1977-2024 and NHS age-gender public table" @@ -589,7 +589,7 @@ "required_mass_change_reason": "ETB VAT expenditure-rate imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "UK Data Service SN 8856 Effects of Taxes and Benefits household tab and cited VAT anchor resource.", "survey": "Effects of Taxes and Benefits 1977-2024" @@ -611,7 +611,7 @@ "required_mass_change_reason": "High-value home support divides every owner household in the top value stratum of its region into light copies at equal weight; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "Microcosm structural operator (microcosm#1240 fix 1); no publisher input", "survey": "Family Resources Survey 2024-25 and SPI synthetic support, after the WAS wealth draw and the regional property uprating" @@ -632,7 +632,7 @@ "required_mass_change_reason": "CGT asset-type assignment on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "https://www.gov.uk/government/statistics/capital-gains-tax-statistics", "survey": "HMRC Capital Gains Tax statistics 2026 release, Table 8 (UK residential property disposals, 2024-25, administrative), Table 4.1 (individuals claiming Business Asset Disposal Relief or Investors' Relief by band of qualifying gain, 2024-25, administrative) and Table 7 (disposals, proceeds and gains by asset type, 2023-24, sample-based), vendored from the pinned Chronicle feed" @@ -656,7 +656,7 @@ "capital_gains" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "conditioning_resource": "hmrc_cgt_conditioning_facts.json", "conditioning_resource_sha256": "f7425784231e1f6aa657d0f26fc02591d9523600eb12fce5d35becf5dabf7569", @@ -746,7 +746,7 @@ "full_frs_tei_band_unavailable" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "hmrc_surface": "2023-24", "mapped_build_period": "2024", @@ -773,7 +773,7 @@ "required_mass_change_reason": "ISA subscriptions per adult from HMRC's ISA tables on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "HMRC Individual Savings Account statistics Tables 9.4, 9.6 and 9.7 to 9.9, the cash ISA limit reduction impact note and Lifetime ISA Table 1a, via the vendored facts; Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed round-8 person and household tabs (interviews April 2020 to March 2022, Great Britain).", "survey": "HMRC Annual savings statistics (September 2026 release); Wealth and Assets Survey round 8" @@ -838,7 +838,7 @@ "required_mass_change_reason": "LCFS consumption imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "UK Data Service SN 9603 Living Costs and Food Survey 2024-25 (2nd edition) household/person tabs and the vendored Chronicle facts for NEED 2024 mean kWh, DESNZ Energy Trends and QEP average prices paid for calendar 2024, road-fuel outturn (DESNZ, HMRC, ONS Consumer Trends) and road fuel by vehicle type (DESNZ), ONS Consumer Trends household spending by COICOP division, the DfT VEH1103 licensed-car stock, NTS bus use, and the DfT and devolved bus finance tables and fares indices.", "survey": "Living Costs and Food Survey 2024-25" @@ -864,7 +864,7 @@ "required_mass_change_reason": "NTS bus-travel imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "Department for Transport National Travel Survey, UK Data Service SN 5340 (End User Licence, 19th edition, November 2025), DOI 10.5255/UKDA-SN-5340-19; local licensed tab files (household, individual, trip); England residents only from 2013.", "survey": "National Travel Survey 2002-2024" @@ -884,7 +884,7 @@ "required_mass_change_reason": "Private-school attendance stored on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "policyengine-uk attends_private_school (the gov.simulation.private_school_vat attendance rates and factor), evaluated by the pinned engine", "survey": "policyengine-uk private-school attendance imputation, stored at the spine's weights" @@ -907,7 +907,7 @@ "property_finance_costs" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "https://www.gov.uk/government/statistics/property-rental-income-statistics", "survey": "Survey of Personal Incomes Public Use Tape 2022-23 and HMRC Property Rental Income Statistics 2026 (tax year 2024-25)" @@ -928,7 +928,7 @@ "required_mass_change_reason": "Annual property purchases imputed on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "https://www.gov.uk/government/statistics/uk-stamp-tax-statistics", "survey": "HMRC Annual Stamp Tax Statistics 2024 to 2025 (corrected 11 March 2026), Tables 6b, 8a and 8b" @@ -951,7 +951,7 @@ "property_wealth" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "uk/high_value_home_value_knots.json, built by tools/build_uk_high_value_home_stock.py from PolicyEngine/chronicle#343's registrations", "survey": "HM Land Registry Price Paid latest sales uprated with the UK House Price Index, owner-weighted by region (the dense value node's knots, region level)" @@ -975,7 +975,7 @@ "non_residential_property_value" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "MHCLG dwellings and the UK House Price Index regional average price averaged over the twelve months of calendar 2024 from the July 2026 full file, the frame's valuation basis, so the engine's annual uprating from 2024 projects the value once (microcosm#1240 fix 5).", "survey": "Public regional property reference" @@ -1003,7 +1003,7 @@ "employment_income" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "HMRC, Salary sacrifice reform for pension contributions effective from 6 April 2029", "survey": "Family Resources Survey 2024-25 salary-sacrifice respondents and HMRC salary-sacrifice reform analysis" @@ -1036,7 +1036,7 @@ "household_source_id" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "Reserved SPI support households for the HMRC Table 2.5 total-income bands from GBP 200,000, stacked at the published band taxpayer count over the donors per band (PolicyEngine/chronicle#280 lane).", "survey": "Survey of Personal Incomes Public Use Tape 2022-23 and HMRC Income Tax liabilities statistics July 2026 Table 2.5" @@ -1058,7 +1058,7 @@ "student_loan_plan" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "Explore Education Statistics Table 6a, Higher education total", "survey": "Family Resources Survey 2024-25 and Student Loans Company borrower forecasts for England" @@ -1066,6 +1066,26 @@ "stage": "student_loans", "status": "required_at_build" }, + "trading_allowance_receipts": { + "base_candidate_sha256": "f17306ccb2aad7ff0130be3589b560afb2e2a12a943570911cd0c77f07934833", + "base_candidate_tier": "frs", + "effective_mass_requirements": {}, + "mass_change_semantics": "mass_conserving", + "output_weight_kind": "importance", + "outputs": [ + "self_employment_gross_receipts" + ], + "required_mass_change_reason": "Self-employed gross receipts stored on the source spine: household weights pass through unchanged and total household mass is conserved.", + "rewrites": [], + "source_manifest": "source_stages.json", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_vintages": { + "source": "self_employment_income after the SPI income stage; HMRC's published gainers of the raise to GBP 3,000, about 400,000 taxpayers with a lower bill by about GBP 380 on average", + "survey": "The self-employed's own profit on the final spine, and HMRC's policy paper on the Budget 2026 trading allowance raise (calibration)" + }, + "stage": "trading_allowance_receipts", + "status": "required_at_build" + }, "was_lisa": { "base_candidate_sha256": "f17306ccb2aad7ff0130be3589b560afb2e2a12a943570911cd0c77f07934833", "base_candidate_tier": "frs", @@ -1080,7 +1100,7 @@ "required_mass_change_reason": "WAS Lifetime ISA imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed round-8 person and household tabs (interviews April 2020 to March 2022, Great Britain).", "survey": "Wealth and Assets Survey round 8" @@ -1119,7 +1139,7 @@ "required_mass_change_reason": "WAS wealth imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "5bb226f3d8392a8b3d6a12ee5c61cd7f978834e4a2d649435f4928cf27a1cc91", + "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", "source_vintages": { "source": "Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed 2006-22 household tab.", "survey": "Wealth and Assets Survey round 8" diff --git a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json index 1bac6c6296..db9bc0e583 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json @@ -7712,6 +7712,52 @@ "source": "HMRC Individual Savings Account statistics Tables 9.4, 9.6 and 9.7 to 9.9, the cash ISA limit reduction impact note and Lifetime ISA Table 1a, via the vendored facts; Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed round-8 person and household tabs (interviews April 2020 to March 2022, Great Britain).", "stage": "isa_subscriptions", "survey": "HMRC Annual savings statistics (September 2026 release); Wealth and Assets Survey round 8" + }, + { + "stage": "trading_allowance_receipts", + "survey": "The self-employed's own profit on the final spine, and HMRC's policy paper on the Budget 2026 trading allowance raise (calibration)", + "source": "self_employment_income after the SPI income stage; HMRC's published gainers of the raise to GBP 3,000, about 400,000 taxpayers with a lower bill by about GBP 380 on average", + "grain": "person", + "operations": [ + { + "kind": "assign_trading_allowance_receipts", + "output": "self_employment_gross_receipts", + "profit": "self_employment_income", + "draw": "trading_allowance_claimant", + "seed": 0, + "claimant_bands": [ + { + "upper_inclusive": 4500.0, + "rate": 0.64 + }, + { + "upper_inclusive": 9000.0, + "rate": 0.32 + }, + { + "rate": 0.0 + } + ], + "claimant_expenses": 1000.0, + "other_expenses": 3000.0, + "calibration": "HMRC's policy paper on the Budget 2026 trading allowance raise: about 400,000 taxpayers with a lower bill, by about GBP 380 on average, on the microcosm#1428 national b441bb5a0's final weights at 2028-29 prices, until HMRC publishes claimant counts (María's choice of 2026-10-31)", + "rule": "a person with a positive self_employment_income claims the allowance where their uniform falls below their profit band's rate; a claimant's receipts are their profit plus claimant_expenses, any other trader's their profit plus other_expenses, and a person with no positive profit keeps zero" + }, + { + "kind": "record_mass_conservation_receipt", + "entity": "household", + "reason": "Self-employed gross receipts stored on the source spine: household weights pass through unchanged and total household mass is conserved.", + "declared_factor": 1.0, + "gate_coupling": "The terminal family gate requires a valid mass-conserving MassChangeRecord carrying exactly this stage-specific reason." + } + ], + "outputs": [ + "self_employment_gross_receipts" + ], + "nonnegative_outputs": [ + "self_employment_gross_receipts" + ], + "notes": "The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band's rate, drawn on their own person_id: a claimant's receipts are their profit plus GBP 1,000, any other trader's their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10's counts, which bind the frame's traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC's policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant's GBP 1,000 grows with the mixed income index and the raise relieves slightly less than GBP 2,000 more in later years." } ] } diff --git a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml index 24c411a8e9..390d1308bc 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml +++ b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml @@ -6197,3 +6197,33 @@ stages: - stocks_and_shares_isa_subscriptions - lifetime_isa_payments notes: 'Imputes ISA subscriptions per adult by type, and the per-person ISA balances, on the final spine (microcosm#1415). Each household''s was_wealth cash and stocks-and-shares ISA totals are split across its adults by the holding pattern of a WAS round-8 donor household with the same number of adults, so person balances sum exactly to the household totals, which are unchanged. Subscribers in 2023-24 are adults aged 18 or over in households holding the type, raked by class (cash only, stocks and shares only, both) to Table 9.7''s income bands, Table 9.8''s age and sex and Table 9.9''s regions and selected by keyed walks, the both class first. Amounts follow Table 9.7''s subscription bands within each income band and class, uniform inside a band and exactly GBP 20,000 at the top; the both class splits each person''s amount by their balance shares, shifted so the class''s stocks-and-shares total is Table 9.4''s 2023-24 stocks-and-shares amount less the stocks-and-shares-only payments. People grow to 2024-25 by Table 9.4''s account growth (an upper bound on people, as from 6 April 2024 a person may pay into several ISAs of one type), and amounts scale to Table 9.4''s 2024-25 amounts per type, holding subscribers already at the GBP 20,000 overall limit and moving combined amounts between GBP 18,000 (Table 9.7''s last band floor below the limit) and the limit on a line up to it, so a factor below one leaves no empty range under the limit (María''s rulings of 29 October 2026): Table 9.7''s cash bands sit above Table 9.4, and growing that excess by Table 9.4''s ratio against the limit pushed the subscribers below it far up. Every Lifetime ISA holder aged 18 to 47 (the ages that can hold one in 2024-25) with room under the overall limit pays in, amounts in (0, GBP 4,000] drawn to Table 9.4''s 2024-25 Lifetime ISA amount. No ISA fact is a calibration target: binding the cells the stage draws to would be circular, so the reviewed fence keeps them measured only.' +- stage: trading_allowance_receipts + survey: The self-employed's own profit on the final spine, and HMRC's policy paper on the Budget 2026 trading allowance raise (calibration) + source: self_employment_income after the SPI income stage; HMRC's published gainers of the raise to GBP 3,000, about 400,000 taxpayers with a lower bill by about GBP 380 on average + grain: person + operations: + - kind: assign_trading_allowance_receipts + output: self_employment_gross_receipts + profit: self_employment_income + draw: trading_allowance_claimant + seed: 0 + claimant_bands: + - upper_inclusive: 4500.0 + rate: 0.64 + - upper_inclusive: 9000.0 + rate: 0.32 + - rate: 0.0 + claimant_expenses: 1000.0 + other_expenses: 3000.0 + calibration: 'HMRC''s policy paper on the Budget 2026 trading allowance raise: about 400,000 taxpayers with a lower bill, by about GBP 380 on average, on the microcosm#1428 national b441bb5a0''s final weights at 2028-29 prices, until HMRC publishes claimant counts (María''s choice of 2026-10-31)' + rule: a person with a positive self_employment_income claims the allowance where their uniform falls below their profit band's rate; a claimant's receipts are their profit plus claimant_expenses, any other trader's their profit plus other_expenses, and a person with no positive profit keeps zero + - kind: record_mass_conservation_receipt + entity: household + reason: 'Self-employed gross receipts stored on the source spine: household weights pass through unchanged and total household mass is conserved.' + declared_factor: 1.0 + gate_coupling: The terminal family gate requires a valid mass-conserving MassChangeRecord carrying exactly this stage-specific reason. + outputs: + - self_employment_gross_receipts + nonnegative_outputs: + - self_employment_gross_receipts + notes: 'The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant''s receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band''s rate, drawn on their own person_id: a claimant''s receipts are their profit plus GBP 1,000, any other trader''s their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10''s counts, which bind the frame''s traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC''s policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant''s GBP 1,000 grows with the mixed income index and the raise relieves slightly less than GBP 2,000 more in later years.' diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py index 02351c6a56..aa0a223630 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py @@ -605,6 +605,9 @@ ("household", "stocks_and_shares_isa"), } ), + # The gross receipts are drawn on each person's final self-employment + # profit (microcosm#1428). + "trading_allowance_receipts": frozenset({("person", "self_employment_income")}), # The copies' childcare re-draw reads every household's clone path (the # lineage columns of each copy stage) and keeps the native units' cells: # an open surface, like the other take-up redraws. @@ -1219,6 +1222,9 @@ def _cells( "lifetime_isa_payments", ), ), + "trading_allowance_receipts": ( + _Cell("person", "self_employment_gross_receipts", "float64"), + ), "childcare_copy_take_up": ( *_cells( "benunit", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph_kernels.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph_kernels.py index d89bd216fe..1f7e6bb2f3 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph_kernels.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph_kernels.py @@ -135,6 +135,7 @@ "student_loans": "student_loans", "private_school_attendance": "private_school_attendance", "isa_subscriptions": "isa_subscriptions", + "trading_allowance_receipts": "trading_allowance_receipts", "childcare_copy_take_up": "childcare_copy_take_up", "age_tail": "age_tail", } @@ -230,6 +231,9 @@ hmrc_isa_statistics, receipt_counts, ), + # The claimant draw is keyed on identity and its receipt rounds its + # support (microcosm#1428). + "trading_allowance_receipts": (receipt_counts, stochastic_assignment), # The copies' childcare re-draw draws through frs_take_up's childcare # helper and reads each household's clone path. "childcare_copy_take_up": (frs_take_up, household_lineage), @@ -582,6 +586,7 @@ def _fixture_implementations(source: Path) -> Mapping[str, object]: ) from .student_loans import UKStudentLoansStageTransform from .take_up_contract import load_uk_take_up_contract + from .trading_allowance_receipts import UKTradingAllowanceReceiptsStageTransform from .uc_capital_coherence import UKUCCapitalCoherenceStageTransform from .uc_deduction_attributes import UKUCDeductionAttributesStageTransform from .uc_reporter_redraw import UKUCReporterRedrawStageTransform @@ -847,6 +852,9 @@ def _fixture_implementations(source: Path) -> Mapping[str, object]: donor_household=was, donor_person=was_person, ), + "trading_allowance_receipts": UKTradingAllowanceReceiptsStageTransform( + stage=stages["trading_allowance_receipts"] + ), "childcare_copy_take_up": UKChildcareCopyTakeUpStageTransform( contract=contract, stage=stages["childcare_copy_take_up"] ), diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spine_build.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spine_build.py index add5eaa2d4..b1e7184161 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spine_build.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spine_build.py @@ -203,6 +203,9 @@ from microcosm.build.uk_runtime.staging import UK_STAGING_REPOSITORY from microcosm.build.uk_runtime.student_loans import UKStudentLoansStageTransform from microcosm.build.uk_runtime.take_up_contract import load_uk_take_up_contract +from microcosm.build.uk_runtime.trading_allowance_receipts import ( + UKTradingAllowanceReceiptsStageTransform, +) from microcosm.build.uk_runtime.uc_capital_coherence import ( UKUCCapitalCoherenceStageTransform, ) @@ -1910,6 +1913,12 @@ def prepare_uk_spine_execution( contract=stochastic_contract, stage=stages_by_name["childcare_copy_take_up"], ) + if "trading_allowance_receipts" in stage_names: + implementations["trading_allowance_receipts"] = ( + UKTradingAllowanceReceiptsStageTransform( + stage=stages_by_name["trading_allowance_receipts"] + ) + ) if "age_tail" in stage_names: implementations["age_tail"] = UKAgeTailStageTransform( stage=stages_by_name["age_tail"] diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/terminal_gates.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/terminal_gates.py index 075ef0c8b4..f6b0e71774 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/terminal_gates.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/terminal_gates.py @@ -306,6 +306,9 @@ def __post_init__(self) -> None: "person.private_pension_income_annual_share", "person.self_employment_income_annual_share", "person.self_employment_income_other_spells", + # The self-employed's gross receipts for the trading allowance, which the + # enhanced FRS leaves at the engine's zero (microcosm#1428). + "person.self_employment_gross_receipts", "person.esa_health_condition_proxy", "person.esa_includes_support_component", "person.esa_support_group_proxy", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py new file mode 100644 index 0000000000..e37ff9d2a3 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py @@ -0,0 +1,362 @@ +"""Self-employed gross receipts for the trading allowance (microcosm#1428). + +policyengine-uk applies the trading allowance (ITTOIA 2005 Part 7A) against a +trader's gross receipts, ``self_employment_gross_receipts``. Neither the FRS +nor the SPI tape records turnover. Without receipts the engine treats a profit +within the allowance as receipts within it (full relief) and a larger profit +as already reflecting the better of expenses and the allowance (no relief). A +rise in the allowance then relieves only profits up to the new allowance, in +full, and misses its main base: traders who already claim the GBP 1,000 +allowance against larger receipts and gain the larger deduction. + +Under current law a trader who claims the allowance deducts GBP 1,000 from +receipts in place of expenses, so their receipts are their profit plus +GBP 1,000 exactly; a trader who deducts actual expenses has expenses above +GBP 1,000. This stage, the last of the spine, flags each trader with a +positive profit as a claimant with a probability by profit band, drawn on +their own ``person_id``, and stores their receipts: + +* a claimant's are their profit plus GBP 1,000; +* any other trader's are their profit plus GBP 3,000, expenses at the raised + allowance, so that the raise does not relieve them (the costing books the + traders who would switch to the allowance as behaviour); +* a person with no positive profit keeps zero, which the engine reads as + unknown. + +The engine then gives a claimant nothing more at GBP 1,000 and up to +GBP 2,000 more at GBP 3,000, and any other trader nothing at either. Every +trader with a positive profit is treated as filing, as SPI Table 3.10's +counts, which bind the frame's traders, are of filers. So a profit of GBP 1,000 +or less is now taxed where the engine used to relieve it in full. + +Until HMRC publishes claimant counts, the rates are calibrated to HMRC's +policy paper on the Budget 2026 raise (about 400,000 taxpayers with a lower +bill, by about GBP 380 on average) on the #1428 national b441bb5a0, at +2028-29 prices (María's choice of 2026-10-31). The engine uprates receipts +with profit, so a claimant's GBP 1,000 grows with the mixed income index, and +the raise relieves slightly less than GBP 2,000 more in later years. +""" + +from __future__ import annotations + +from collections.abc import Mapping +from dataclasses import dataclass, field + +import numpy as np +import pandas as pd + +from microcosm.build.source_manifest import SourceStageSpec +from microcosm.build.stochastic_assignment import stable_identity_uniforms +from microcosm.build.uk_runtime.national_frame import ( + uk_household_weight_kind, + uk_national_frame, + uk_time_period, + validate_uk_national_frame, +) +from microcosm.build.uk_runtime.receipt_counts import ( + distinct_count, + rounded_count, + small_cell_share, + source_household_ids, + support_band, +) +from microcosm.frame import Frame, MassChangeRecord + +__all__ = [ + "TRADING_ALLOWANCE_CLAIMANT_BANDS", + "TRADING_ALLOWANCE_RECEIPTS_OUTPUT", + "TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME", + "UKTradingAllowanceReceiptsStageTransform", + "assign_trading_allowance_receipts", + "claimant_rates", + "store_trading_allowance_receipts", +] + +TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME = "trading_allowance_receipts" +TRADING_ALLOWANCE_RECEIPTS_OUTPUT = "self_employment_gross_receipts" +TRADING_ALLOWANCE_PROFIT = "self_employment_income" +TRADING_ALLOWANCE_CLAIMANT_DRAW = "trading_allowance_claimant" +TRADING_ALLOWANCE_CLAIMANT_SEED = 0 +#: The allowance a claimant deducts in place of expenses (2024-25). +TRADING_ALLOWANCE_CLAIMANT_EXPENSES = 1_000.0 +#: Any other trader's expenses: at the raised allowance, which then gives them +#: nothing. +TRADING_ALLOWANCE_OTHER_EXPENSES = 3_000.0 +#: The claimant probability by the person's profit, upper bounds inclusive, +#: over profits above zero; the last band has no upper bound. +TRADING_ALLOWANCE_CLAIMANT_BANDS: tuple[tuple[float | None, float], ...] = ( + (4_500.0, 0.64), + (9_000.0, 0.32), + (None, 0.0), +) +TRADING_ALLOWANCE_CALIBRATION = ( + "HMRC's policy paper on the Budget 2026 trading allowance raise: about " + "400,000 taxpayers with a lower bill, by about GBP 380 on average, on the " + "microcosm#1428 national b441bb5a0's final weights at 2028-29 prices, " + "until HMRC publishes claimant counts (María's choice of 2026-10-31)" +) +TRADING_ALLOWANCE_RECEIPTS_MASS_CHANGE_REASON = ( + "Self-employed gross receipts stored on the source spine: household weights " + "pass through unchanged and total household mass is conserved." +) +_MASS_GATE_COUPLING = ( + "The terminal family gate requires a valid mass-conserving MassChangeRecord " + "carrying exactly this stage-specific reason." +) +TRADING_ALLOWANCE_RECEIPTS_RULE = ( + "a person with a positive self_employment_income claims the allowance " + "where their uniform falls below their profit band's rate; a claimant's " + "receipts are their profit plus claimant_expenses, any other trader's their " + "profit plus other_expenses, and a person with no positive profit keeps zero" +) + + +def _expected_operations() -> tuple[tuple[str, Mapping[str, object]], ...]: + bands: list[dict[str, object]] = [] + for upper, rate in TRADING_ALLOWANCE_CLAIMANT_BANDS: + band: dict[str, object] = {"rate": rate} + if upper is not None: + band = {"upper_inclusive": upper, **band} + bands.append(band) + return ( + ( + "assign_trading_allowance_receipts", + { + "output": TRADING_ALLOWANCE_RECEIPTS_OUTPUT, + "profit": TRADING_ALLOWANCE_PROFIT, + "draw": TRADING_ALLOWANCE_CLAIMANT_DRAW, + "seed": TRADING_ALLOWANCE_CLAIMANT_SEED, + "claimant_bands": bands, + "claimant_expenses": TRADING_ALLOWANCE_CLAIMANT_EXPENSES, + "other_expenses": TRADING_ALLOWANCE_OTHER_EXPENSES, + "calibration": TRADING_ALLOWANCE_CALIBRATION, + "rule": TRADING_ALLOWANCE_RECEIPTS_RULE, + }, + ), + ( + "record_mass_conservation_receipt", + { + "entity": "household", + "reason": TRADING_ALLOWANCE_RECEIPTS_MASS_CHANGE_REASON, + "declared_factor": 1.0, + "gate_coupling": _MASS_GATE_COUPLING, + }, + ), + ) + + +def claimant_rates(profit: np.ndarray) -> np.ndarray: + """Each person's claimant probability by their profit band (zero at none).""" + + profit = np.asarray(profit, dtype=np.float64) + rates = np.zeros(profit.shape, dtype=np.float64) + lower = 0.0 + for upper, rate in TRADING_ALLOWANCE_CLAIMANT_BANDS: + in_band = profit > lower + if upper is not None: + in_band &= profit <= upper + rates[in_band] = rate + if upper is None: + break + lower = upper + return rates + + +def assign_trading_allowance_receipts( + person_ids: np.ndarray, + profit: np.ndarray, + *, + seed: int = TRADING_ALLOWANCE_CLAIMANT_SEED, + salt: str = TRADING_ALLOWANCE_CLAIMANT_DRAW, +) -> tuple[np.ndarray, np.ndarray]: + """Each person's gross receipts and claimant flag.""" + + profit = np.asarray(profit, dtype=np.float64) + ids = np.asarray(person_ids) + if ids.shape != profit.shape: + raise ValueError("Trading allowance person ids must align to the profits.") + if not np.isfinite(profit).all(): + raise ValueError("Trading allowance profits must be finite.") + trader = profit > 0.0 + claimant = np.zeros(profit.shape, dtype=bool) + if trader.any(): + uniforms = stable_identity_uniforms(ids[trader], seed=seed, salt=salt) + claimant[trader] = uniforms < claimant_rates(profit[trader]) + receipts = np.where( + claimant, + profit + TRADING_ALLOWANCE_CLAIMANT_EXPENSES, + np.where(trader, profit + TRADING_ALLOWANCE_OTHER_EXPENSES, 0.0), + ) + return receipts, claimant + + +@dataclass(frozen=True) +class UKTradingAllowanceReceiptsResult: + """The frame with the stored receipts, and the stage's receipt.""" + + frame: Frame + traders: int + claimants: int + bands: tuple[Mapping[str, object], ...] + + def evidence(self) -> dict[str, object]: + return { + "stage": TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME, + "seed": TRADING_ALLOWANCE_CLAIMANT_SEED, + "draw": TRADING_ALLOWANCE_CLAIMANT_DRAW, + # Record counts are rounded, never exact (UKDS CD137 cl. 8). + "traders": rounded_count(self.traders), + "claimants": rounded_count(self.claimants), + "bands": [dict(band) for band in self.bands], + } + + +@dataclass(frozen=True) +class UKTradingAllowanceReceiptsStageTransform: + """Whole-stage callable storing the self-employed's gross receipts.""" + + stage: SourceStageSpec + last_result: UKTradingAllowanceReceiptsResult | None = field( + default=None, init=False + ) + + def __call__(self, frame: Frame) -> Frame: + _assert_stage_parameters(self.stage) + result = store_trading_allowance_receipts(frame) + object.__setattr__(self, "last_result", result) + return result.frame + + @staticmethod + def output_columns() -> tuple[str, ...]: + return (TRADING_ALLOWANCE_RECEIPTS_OUTPUT,) + + def checkpoint_metadata(self) -> dict[str, object]: + if self.last_result is None: + raise RuntimeError("checkpoint metadata requires a completed stage run.") + return {"evidence": self.last_result.evidence()} + + +def store_trading_allowance_receipts(frame: Frame) -> UKTradingAllowanceReceiptsResult: + """Store each person's gross receipts; nothing else moves.""" + + validate_uk_national_frame(frame) + person = frame.table("person").copy() + household = frame.table("household").copy() + if TRADING_ALLOWANCE_RECEIPTS_OUTPUT in person.columns: + raise ValueError( + f"{TRADING_ALLOWANCE_RECEIPTS_OUTPUT!r} is already stored: this stage " + "is its only writer." + ) + if TRADING_ALLOWANCE_PROFIT not in person.columns: + raise KeyError( + f"person.{TRADING_ALLOWANCE_PROFIT} is missing; the receipts are " + "drawn on the final self-employment profit." + ) + if pd.Series(person["person_id"]).duplicated().any(): + raise ValueError( + "person_id must be unique: the trading allowance draw is keyed on it." + ) + profit = pd.to_numeric(person[TRADING_ALLOWANCE_PROFIT], errors="raise") + receipts, claimant = assign_trading_allowance_receipts( + person["person_id"].to_numpy(), profit.to_numpy(dtype=np.float64) + ) + person[TRADING_ALLOWANCE_RECEIPTS_OUTPUT] = receipts + + household_weights = frame.weights_for("household") + weight_by_household = dict( + zip( + household["household_id"].to_numpy(), + np.asarray(household_weights.values, dtype=float), + strict=True, + ) + ) + source_by_household = dict( + zip( + household["household_id"].to_numpy(), + source_household_ids( + household, stage=TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME + ), + strict=True, + ) + ) + weights = person["person_household_id"].map(weight_by_household).to_numpy(float) + sources = person["person_household_id"].map(source_by_household).to_numpy() + rates = claimant_rates(profit.to_numpy(dtype=np.float64)) + trader = profit.to_numpy(dtype=np.float64) > 0.0 + bands: list[dict[str, object]] = [] + for rate in sorted(set(rates[trader].tolist()), reverse=True): + in_band = trader & (rates == rate) + supported = distinct_count(sources, in_band, weights) + weighted = float(weights[in_band].sum()) + bands.append( + { + "rate": rate, + "support": support_band(supported), + # Weighted totals over the band's traders at the spine's weights. + "weighted_traders": small_cell_share(weighted, supported), + "weighted_claimant_share": small_cell_share( + float(weights[in_band & claimant].sum()) / weighted + if weighted > 0.0 + else 0.0, + supported, + ), + } + ) + mass = MassChangeRecord( + entity="household", + old_total=household_weights.total, + new_total=household_weights.total, + declared_factor=1.0, + reason=TRADING_ALLOWANCE_RECEIPTS_MASS_CHANGE_REASON, + ) + result = uk_national_frame( + person=person, + benunit=frame.table("benunit").copy(), + household=household, + time_period=uk_time_period(frame), + weight_kind=uk_household_weight_kind(frame), + household_weights=household_weights.values, + mass_log=(*frame.mass_log, mass), + ) + validate_uk_national_frame(result) + return UKTradingAllowanceReceiptsResult( + frame=result, + traders=int(trader.sum()), + claimants=int(claimant.sum()), + bands=tuple(bands), + ) + + +def _assert_stage_parameters(stage: SourceStageSpec) -> None: + """Bind the stage's operation closed-world.""" + + if stage.stage != TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME: + raise ValueError( + f"Trading allowance receipts received stage {stage.stage!r}, expected " + f"{TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME!r}." + ) + expected = _expected_operations() + operations = tuple(stage.operations) + if tuple(operation.kind for operation in operations) != tuple( + kind for kind, _ in expected + ): + raise ValueError( + "trading_allowance_receipts operation order drifted: " + f"{[operation.kind for operation in operations]!r}." + ) + for operation, (kind, parameters) in zip(operations, expected, strict=True): + if dict(operation.parameters) != dict(parameters): + raise ValueError( + f"trading_allowance_receipts {kind} parameters drifted: " + f"{dict(operation.parameters)!r} != {dict(parameters)!r}." + ) + if tuple(stage.outputs) != (TRADING_ALLOWANCE_RECEIPTS_OUTPUT,): + raise ValueError( + f"{TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME} must declare exactly the " + f"{TRADING_ALLOWANCE_RECEIPTS_OUTPUT} output." + ) + if stage.grain != "person": + raise ValueError( + f"{TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME} is person grain, got " + f"{stage.grain!r}." + ) diff --git a/packages/microcosm-build/tests/engine/uk/test_uk_release_input_coverage.py b/packages/microcosm-build/tests/engine/uk/test_uk_release_input_coverage.py index 40eea7a7b7..aa152cecbe 100644 --- a/packages/microcosm-build/tests/engine/uk/test_uk_release_input_coverage.py +++ b/packages/microcosm-build/tests/engine/uk/test_uk_release_input_coverage.py @@ -474,6 +474,7 @@ def test_shipped_manifest_is_current(self) -> None: "was_wealth", "was_lisa", "isa_subscriptions", + "trading_allowance_receipts", "regional_property_uprating", "high_value_home_support", "regional_home_values", diff --git a/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py b/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py index e10b205825..eb61c03f90 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py @@ -1054,8 +1054,9 @@ def test_uk_source_manifest_contains_only_canonical_spine_stages(self) -> None: # uc_capital_coherence; microcosm#1319 carers_allowance_take_up after # child_benefit_take_up; childcare_copy_take_up last, after every copy # stage; microcosm#1334 uc_take_up after uc_capital_coherence and - # frs_annual_income_spells after frs_hmrc_spine_leaves. - assert len(spec.sources.stages) == 50 + # frs_annual_income_spells after frs_hmrc_spine_leaves; microcosm#1428 + # trading_allowance_receipts last. + assert len(spec.sources.stages) == 51 assert not {"frs_hmrc_retained_leaves", "hmrc_spi_income"}.intersection( stage.stage for stage in spec.sources.stages ) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_graph.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_graph.py index 1e126d1d19..55241b8b77 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_graph.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_graph.py @@ -59,8 +59,9 @@ def test_uk_spine_graph_contains_every_manifest_stage() -> None: # adds property_purchases and uc_legacy_closure_take_up, microcosm#1112 # regional_home_values, microcosm#1319 carers_allowance_take_up, the # copies' childcare re-draw childcare_copy_take_up, and microcosm#1334 - # uc_take_up and frs_annual_income_spells. - assert len(expected) == 50 + # uc_take_up and frs_annual_income_spells; microcosm#1428 the last stage, + # trading_allowance_receipts. + assert len(expected) == 51 assert {"frs_hmrc_retained_leaves", "hmrc_spi_income"}.isdisjoint(expected) assert set(expected) <= ids assert {"frs_hmrc_retained_leaves", "hmrc_spi_income"}.isdisjoint(ids) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_source_stages.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_source_stages.py index ca36548984..eb56bae3f4 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_source_stages.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_source_stages.py @@ -122,9 +122,12 @@ "childcare_copy_take_up", # microcosm#1095: the stored private-school attendance runs after them. "private_school_attendance", - # microcosm#1415: the ISA subscriptions run last, on final incomes; nothing - # reads their outputs. + # microcosm#1415: the ISA subscriptions run after them, on final incomes; + # nothing reads their outputs. "isa_subscriptions", + # microcosm#1428: the self-employed's gross receipts run last, on final + # profits; only the engine's trading allowance reads them. + "trading_allowance_receipts", ] UK_SOURCE_STAGE_NAMES = [ "frs_spine", @@ -312,6 +315,7 @@ def test_country_stage_plan_assembles_spine_plan(self) -> None: "student_loans": _identity, "private_school_attendance": _identity, "isa_subscriptions": _identity, + "trading_allowance_receipts": _identity, "childcare_copy_take_up": _identity, "age_tail": _identity, "frs_relationships": _identity, diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spine_acceptance_receipt.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spine_acceptance_receipt.py index 15dc71994e..dd34958050 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spine_acceptance_receipt.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spine_acceptance_receipt.py @@ -176,9 +176,13 @@ def _apply_pending_roster_transformations( # follows the copies' childcare re-draw. assert "private_school_attendance" not in roster roster.append("private_school_attendance") - # microcosm#1415 re-mint pending: the ISA subscriptions run last. + # microcosm#1415 re-mint pending: the ISA subscriptions follow it. assert "isa_subscriptions" not in roster roster.append("isa_subscriptions") + # microcosm#1428 re-mint pending: the self-employed's gross receipts run + # last. + assert "trading_allowance_receipts" not in roster + roster.append("trading_allowance_receipts") return tuple(roster) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py new file mode 100644 index 0000000000..7e1ecd2013 --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py @@ -0,0 +1,145 @@ +"""The self-employed's gross receipts for the trading allowance (microcosm#1428).""" + +from __future__ import annotations + +from dataclasses import replace + +import numpy as np +import pandas as pd +import pytest + +from microcosm.build.country_spec import load_country_spec +from microcosm.build.stochastic_assignment import stable_identity_uniforms +from microcosm.build.uk_runtime.national_frame import uk_national_frame +from microcosm.build.uk_runtime.trading_allowance_receipts import ( + TRADING_ALLOWANCE_RECEIPTS_OUTPUT, + TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME, + UKTradingAllowanceReceiptsStageTransform, + assign_trading_allowance_receipts, + claimant_rates, +) + + +def _stage(): + return load_country_spec("uk").sources.stage_map()[ + TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME + ] + + +def _frame(profit: np.ndarray): + ids = np.arange(1, len(profit) + 1, dtype=np.int64) + household = pd.DataFrame( + { + "household_id": ids, + "household_source_id": ids, + "household_weight": 2.0, + "region": "LONDON", + } + ) + person = pd.DataFrame( + { + "person_id": ids, + "person_benunit_id": ids, + "person_household_id": ids, + "age": 40, + "self_employment_income": np.asarray(profit, dtype=np.float64), + } + ) + benunit = pd.DataFrame({"benunit_id": ids}) + return uk_national_frame( + person=person, benunit=benunit, household=household, time_period="2024" + ) + + +def test_claimant_rates_follow_the_profit_bands_with_inclusive_upper_bounds() -> None: + profit = np.asarray([-500.0, 0.0, 0.01, 4_500.0, 4_500.01, 9_000.0, 9_000.01]) + assert claimant_rates(profit).tolist() == [0.0, 0.0, 0.64, 0.64, 0.32, 0.32, 0.0] + + +def test_claimants_add_the_allowance_and_other_traders_the_raised_one() -> None: + profit = np.asarray([0.0, -1_200.0, 800.0, 6_000.0, 25_000.0] * 200) + ids = np.arange(len(profit)) + receipts, claimant = assign_trading_allowance_receipts(ids, profit) + trader = profit > 0.0 + # No positive profit: no receipts, which the engine reads as unknown. + assert (receipts[~trader] == 0.0).all() + assert not claimant[~trader].any() + np.testing.assert_allclose(receipts[claimant], profit[claimant] + 1_000.0) + np.testing.assert_allclose( + receipts[trader & ~claimant], profit[trader & ~claimant] + 3_000.0 + ) + # Nobody above GBP 9,000 claims; the draw is the person's own uniform. + assert not claimant[profit > 9_000.0].any() + uniforms = stable_identity_uniforms( + ids[trader], seed=0, salt="trading_allowance_claimant" + ) + assert ( + claimant[trader].tolist() + == (uniforms < claimant_rates(profit[trader])).tolist() + ) + # Two hundred draws per band land near the band's rate. + assert claimant[profit == 800.0].mean() == pytest.approx(0.64, abs=0.1) + assert claimant[profit == 6_000.0].mean() == pytest.approx(0.32, abs=0.1) + + +def test_the_stage_stores_receipts_deterministically_and_moves_nothing_else() -> None: + profit = np.tile([0.0, 900.0, 3_000.0, 7_000.0, 40_000.0], 40) + frame = _frame(profit) + first = UKTradingAllowanceReceiptsStageTransform(stage=_stage())(frame) + second = UKTradingAllowanceReceiptsStageTransform(stage=_stage())(frame) + person = first.table("person") + pd.testing.assert_series_equal( + person[TRADING_ALLOWANCE_RECEIPTS_OUTPUT], + second.table("person")[TRADING_ALLOWANCE_RECEIPTS_OUTPUT], + ) + expenses = ( + person[TRADING_ALLOWANCE_RECEIPTS_OUTPUT] - person["self_employment_income"] + ) + assert set(np.round(expenses[profit > 0.0], 6)) <= {1_000.0, 3_000.0} + assert (person.loc[profit <= 0.0, TRADING_ALLOWANCE_RECEIPTS_OUTPUT] == 0.0).all() + before = frame.table("person") + pd.testing.assert_frame_equal( + person.drop(columns=[TRADING_ALLOWANCE_RECEIPTS_OUTPUT]), before + ) + np.testing.assert_array_equal( + first.weights_for("household").values, frame.weights_for("household").values + ) + (record,) = first.mass_log[len(frame.mass_log) :] + assert record.declared_factor == 1.0 + assert record.old_total == record.new_total + + +def test_the_receipt_rounds_counts_and_bands_shares() -> None: + transform = UKTradingAllowanceReceiptsStageTransform(stage=_stage()) + transform(_frame(np.tile([500.0, 6_000.0, 20_000.0], 50))) + evidence = transform.checkpoint_metadata()["evidence"] + assert evidence["traders"] == 150 + assert isinstance(evidence["claimants"], int) + assert [band["rate"] for band in evidence["bands"]] == [0.64, 0.32, 0.0] + assert all(band["support"] == "30+" for band in evidence["bands"]) + assert evidence["bands"][0]["weighted_traders"] == pytest.approx(100.0) + # Fewer than ten source households behind a band print "<10". + transform(_frame(np.asarray([500.0] * 5))) + small = transform.checkpoint_metadata()["evidence"] + assert small["traders"] == "<10" + assert small["bands"][0]["weighted_traders"] == "<10" + + +def test_the_stage_refuses_drifted_parameters_and_a_second_writer() -> None: + stage = _stage() + operation, receipt = stage.operations + drifted = replace( + stage, + operations=( + replace( + operation, + parameters={**dict(operation.parameters), "claimant_expenses": 900.0}, + ), + receipt, + ), + ) + with pytest.raises(ValueError, match="parameters drifted"): + UKTradingAllowanceReceiptsStageTransform(stage=drifted)(_frame([500.0])) + frame = UKTradingAllowanceReceiptsStageTransform(stage=stage)(_frame([500.0])) + with pytest.raises(ValueError, match="only writer"): + UKTradingAllowanceReceiptsStageTransform(stage=stage)(frame) diff --git a/packages/microcosm-data/src/microcosm/data/contract.py b/packages/microcosm-data/src/microcosm/data/contract.py index 0cc27a7725..4a6cab41ac 100644 --- a/packages/microcosm-data/src/microcosm/data/contract.py +++ b/packages/microcosm-data/src/microcosm/data/contract.py @@ -451,13 +451,13 @@ def compatibility_claim_declarer_error(declared_by: object) -> str | None: # fingerprint derives from the manifest digest. Editing the spec moves all # three here in the same reviewed change. _UK_GATE_BATTERY_POLICY_SHA256 = ( - "29c866ba365999cfd39a5ddceb94e159396759e575a8ac99de619e3f03525653" + "37c1649af59eda1027e96b5993adff3ed982a04d5bafd8b21cea636490c568f5" ) _UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "e8be5fdad3bd421d251123fc9a518f84c845937ae225ca8a4a2ea26be1fa7f6d" + "49747ecb3eb2f02c337bb350748609ec822e0826d12406b1ce3a1ee794d711f4" ) _UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "d02b24f26a0f33a507b70d0cea047333278d0cdc952c765342943d42bcc74cf8" + "63b1107a53b3ee2a821ddb3a62128b735d08712a6569e74ba86caa546664ef13" ) #: Spec entry id -> the legacy gate name whose observable detail checks #: apply unchanged (the battery re-keys the report by entry id; the gate @@ -980,10 +980,10 @@ def _uk_line_cut_tag_re(release_id: str) -> re.Pattern[str] | None: }, "release_cut": { "gates_manifest_sha256": ( - "c44ce8629cfc9a48e6aaeb9d77012c4fad382b8ef0e232476b9bc8c8e83dbefc" + "16d49f65201db71d8780be13512216e30360d9c0739ca104f3507ff77aeb387a" ), "policy_sha256": ( - "b335bef4e20b9803b60e728bfb2f045d282d16309429b00d72bf86dd4f4bafd8" + "434d9b579a392036436cacefa828dfb1fc4fbef35056fc78ea68bd91d37de5e1" ), }, } diff --git a/packages/microcosm-data/tests/engine_free/shared/test_contract.py b/packages/microcosm-data/tests/engine_free/shared/test_contract.py index 648d44be4e..f1fe926bf9 100644 --- a/packages/microcosm-data/tests/engine_free/shared/test_contract.py +++ b/packages/microcosm-data/tests/engine_free/shared/test_contract.py @@ -220,13 +220,13 @@ def _trusted_terminal_gate_signing_key(monkeypatch) -> None: UK_GATE_BATTERY_PRODUCER = "microcosm.build.gate_battery" UK_GATE_BATTERY_SIGNING_KEY_ENV = "MICROCOSM_UK_TERMINAL_GATE_SIGNING_KEY" UK_GATE_BATTERY_POLICY_SHA256 = ( - "29c866ba365999cfd39a5ddceb94e159396759e575a8ac99de619e3f03525653" + "37c1649af59eda1027e96b5993adff3ed982a04d5bafd8b21cea636490c568f5" ) UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "e8be5fdad3bd421d251123fc9a518f84c845937ae225ca8a4a2ea26be1fa7f6d" + "49747ecb3eb2f02c337bb350748609ec822e0826d12406b1ce3a1ee794d711f4" ) UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "d02b24f26a0f33a507b70d0cea047333278d0cdc952c765342943d42bcc74cf8" + "63b1107a53b3ee2a821ddb3a62128b735d08712a6569e74ba86caa546664ef13" ) UK_GATE_BATTERY_DEGENERATE_EVIDENCE_SHA256 = ( "f246388de42654dd68dbbb40c42282001b5b0a8bf48976162bcb1199085cb1d3" diff --git a/packages/microcosm-frame/src/microcosm/frame/adapters/policyengine_uk_concepts.py b/packages/microcosm-frame/src/microcosm/frame/adapters/policyengine_uk_concepts.py index 8c524f6843..7cbd06a026 100644 --- a/packages/microcosm-frame/src/microcosm/frame/adapters/policyengine_uk_concepts.py +++ b/packages/microcosm-frame/src/microcosm/frame/adapters/policyengine_uk_concepts.py @@ -246,18 +246,6 @@ #: Other engine inputs the build leaves at the engine's default, each signed as #: an approximation with the error it can make (microcosm#1095). UK_ENGINE_DEFAULT_INPUTS: dict[str, str] = { - "self_employment_gross_receipts": ( - "No source of the self-employed's turnover is read yet (the FRS job " - "record and the SPI tape are the candidates, as #1145 found landlords' " - "receipts). Since policyengine-uk 2.108.0 the trading allowance replaces " - "expenses and does not stack on them, so without receipts " - "trading_allowance_deduction relieves a profit of GBP 1,000 or less in " - "full and gives a larger profit no allowance. Taxable profit is off by at " - "most GBP 1,000 a person: too low where receipts above GBP 1,000 leave a " - "small profit, too high just above GBP 1,000 where the allowance would " - "beat the expenses. Signed as an approximation with the plan for the " - "next policyengine-uk bump, approved on 2026-10-23." - ), "housing_benefit_residential_capital_exception": ( "The working-age residential capital tariff exception (Housing Benefit " "Regulations 2006 reg. 52(4)-(5), (8)-(9); NI reg. 49) covers residents " diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json index eeda6609c7..a4efd56587 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json @@ -6788,6 +6788,54 @@ "stage": "student_loans", "survey": "Family Resources Survey 2024-25 and Student Loans Company borrower forecasts for England" }, + "trading_allowance_receipts": { + "artifacts": [], + "grain": "person", + "nonnegative_outputs": [ + "self_employment_gross_receipts" + ], + "notes": "The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band's rate, drawn on their own person_id: a claimant's receipts are their profit plus GBP 1,000, any other trader's their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10's counts, which bind the frame's traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC's policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant's GBP 1,000 grows with the mixed income index and the raise relieves slightly less than GBP 2,000 more in later years.", + "operations": [ + { + "calibration": "HMRC's policy paper on the Budget 2026 trading allowance raise: about 400,000 taxpayers with a lower bill, by about GBP 380 on average, on the microcosm#1428 national b441bb5a0's final weights at 2028-29 prices, until HMRC publishes claimant counts (Mar\u00eda's choice of 2026-10-31)", + "claimant_bands": [ + { + "rate": 0.64, + "upper_inclusive": 4500 + }, + { + "rate": 0.32, + "upper_inclusive": 9000 + }, + { + "rate": 0 + } + ], + "claimant_expenses": 1000, + "draw": "trading_allowance_claimant", + "kind": "assign_trading_allowance_receipts", + "other_expenses": 3000, + "output": "self_employment_gross_receipts", + "profit": "self_employment_income", + "rule": "a person with a positive self_employment_income claims the allowance where their uniform falls below their profit band's rate; a claimant's receipts are their profit plus claimant_expenses, any other trader's their profit plus other_expenses, and a person with no positive profit keeps zero", + "seed": 0 + }, + { + "declared_factor": 1, + "entity": "household", + "gate_coupling": "The terminal family gate requires a valid mass-conserving MassChangeRecord carrying exactly this stage-specific reason.", + "kind": "record_mass_conservation_receipt", + "reason": "Self-employed gross receipts stored on the source spine: household weights pass through unchanged and total household mass is conserved." + } + ], + "outputs": [ + "self_employment_gross_receipts" + ], + "rewrites": [], + "source": "self_employment_income after the SPI income stage; HMRC's published gainers of the raise to GBP 3,000, about 400,000 taxpayers with a lower bill by about GBP 380 on average", + "stage": "trading_allowance_receipts", + "survey": "The self-employed's own profit on the final spine, and HMRC's policy paper on the Budget 2026 trading allowance raise (calibration)" + }, "uc_capital_coherence": { "artifacts": [], "grain": "benunit", diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json index 5251bdd260..657d231819 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json @@ -1 +1 @@ -{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"8323227c614289f0aca067f8cf9beeb7cb32fc5745debde5851262fab77cedd2","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} +{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"8323227c614289f0aca067f8cf9beeb7cb32fc5745debde5851262fab77cedd2","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage trading_allowance_receipts.","id":"trading_allowance_receipts","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","lifetime_isa_payments","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.trading_allowance_receipts@1","mass":"conserve","outputs":[{"column":"self_employment_gross_receipts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"trading_allowance_receipts","stage_contract_sha256":"7b7b687a3139167e16917f26cea8400f55604efa7528ccf3b1a9876946bd7b31","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} diff --git a/tools/build_uk_release_input_coverage_manifest.py b/tools/build_uk_release_input_coverage_manifest.py index 6b28c6c42a..621bb9c5c6 100644 --- a/tools/build_uk_release_input_coverage_manifest.py +++ b/tools/build_uk_release_input_coverage_manifest.py @@ -932,6 +932,10 @@ def build_manifest( stage_name="isa_subscriptions", candidate_source=candidate_source, ), + "trading_allowance_receipts": _source_stage_family_coverage_contract( + stage_name="trading_allowance_receipts", + candidate_source=candidate_source, + ), "nts_bus_travel": _source_stage_family_coverage_contract( stage_name="nts_bus_travel", candidate_source=candidate_source, diff --git a/tools/graph_uk_spine_fixture.py b/tools/graph_uk_spine_fixture.py index c0465f9fe2..f115172047 100644 --- a/tools/graph_uk_spine_fixture.py +++ b/tools/graph_uk_spine_fixture.py @@ -176,6 +176,9 @@ ) from microcosm.build.uk_runtime.student_loans import UKStudentLoansStageTransform from microcosm.build.uk_runtime.take_up_contract import load_uk_take_up_contract +from microcosm.build.uk_runtime.trading_allowance_receipts import ( + UKTradingAllowanceReceiptsStageTransform, +) from microcosm.build.uk_runtime.uc_capital_coherence import ( UKUCCapitalCoherenceStageTransform, ) @@ -208,7 +211,7 @@ _SPI_DONOR_SAMPLE_SIZE = 64 #: The packaged FRS spine roster the fixture exercises (manifest minus the #: certified-pair exclusions); moves whenever a spine stage is added. -UK_FIXTURE_STAGE_COUNT = 50 +UK_FIXTURE_STAGE_COUNT = 51 _QRF_ESTIMATORS = 4 # These are the complete object-string surface observed in the unchanged @@ -2149,6 +2152,9 @@ def capture_root(frame: Frame) -> Frame: donor_household=was, donor_person=was_person, ), + "trading_allowance_receipts": UKTradingAllowanceReceiptsStageTransform( + stage=stages["trading_allowance_receipts"] + ), "nts_bus_travel": UKNTSBusTravelStageTransform( stage=stages["nts_bus_travel"], engine=engine, From f9676fed94e75bda89d361967517b03679f81516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 12:32:12 +0000 Subject: [PATCH 40/67] Revert the OBR-path anchor for HMRC's tax on savings rows (option A) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 5c0137fb4 (María's ruling of 2026-10-31, microcosm#1428). The national built from 6485af4af stopped at uk_target_fit. Under the engine's rules, tax on savings grows faster than savings income: the Personal Savings Allowance and the thresholds are frozen. So the tax rows grown on the income's path asked for less tax than SPI Table 3.7's savings income gives. To meet them, the solve cut the interest rows in the basic-rate bands: the GBP 30,000 band ended 30.7% under target and the GBP 20,000 band 12.0% under. HMRC's own 2024-25 and 2025-26 projections carry that leverage, and the national from b441bb5a0 met them beside the interest rows. So the savings rates' yield stays pinned to the projection. Its distance from the costing is a difference of basis (the projection's leverage) and of behaviour (ISA shifting), not a fault in the base. The three rows, their references, membership and parity receipt, and the two tests are back as at d563f4fbc. The changelog fragment goes. Co-Authored-By: Claude Opus 5.5 --- .../1428-itl-savings-tax-obr-path.changed.md | 1 - ...ity_incumbent_2025_signed_differences.json | 6 +- .../build/uk/target_reference_membership.json | 66 ++++--------------- .../microcosm/build/uk/target_references.json | 18 ++--- .../build/uk/uk_population_targets.json | 24 +++---- .../uk/test_uk_itl_savings_tax_rates.py | 6 +- .../uk/test_uk_population_targets.py | 1 + 7 files changed, 37 insertions(+), 85 deletions(-) delete mode 100644 changelog.d/1428-itl-savings-tax-obr-path.changed.md diff --git a/changelog.d/1428-itl-savings-tax-obr-path.changed.md b/changelog.d/1428-itl-savings-tax-obr-path.changed.md deleted file mode 100644 index f9d6066397..0000000000 --- a/changelog.d/1428-itl-savings-tax-obr-path.changed.md +++ /dev/null @@ -1 +0,0 @@ -HMRC's Income Tax on savings at the basic, higher and additional rates (Income Tax liabilities statistics Table 2.6) now binds the 2023-24 outturn grown to the 2025 calibration period by the OBR's savings income growth (October 2026 EFO Table 4.5, about ×1.36), the path the Budget's savings costing grows its base by and SPI Table 3.7's savings rows already take (#1428; María's choice of 2026-10-31). The rows used to bind HMRC's own 2024-25 and 2025-26 projections as a calendar-2025 window, about 12% higher: tax there grows ×1.52 over the outturn against ×1.36 for savings income, the leverage of the frozen Personal Savings Allowance and thresholds. Bound beside Table 3.7's income on the OBR path, the projections pinned the tax on savings, and so the static yield of the savings rate rises, above the costing's base. The rows now read observed years only, so `hmrc_itl_savings_rate` leaves the source-projection families. diff --git a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json index 84c57c73bb..4e0514dcb2 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json +++ b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json @@ -2165,21 +2165,21 @@ }, { "kind": "ledger_only", - "ledger_value": 3661705003.058779, + "ledger_value": 4087500000.0, "name": "hmrc.itl.savings_tax_at_additional_rate", "period": 2025, "reason": "Coverage the incumbent lacks (microcosm#1418): HMRC's Income Tax liabilities Table 2.6 (July 2026) Income Tax on savings at the basic, higher and additional rates, all payers, United Kingdom, as the calendar-2025 window of the 2024-25 and 2025-26 projections: the base the Budget 2026 savings income rates are costed on. The incumbent registry binds no tax by income source or rate." }, { "kind": "ledger_only", - "ledger_value": 1613862575.4222026, + "ledger_value": 1720000000.0, "name": "hmrc.itl.savings_tax_at_basic_rate", "period": 2025, "reason": "Coverage the incumbent lacks (microcosm#1418): HMRC's Income Tax liabilities Table 2.6 (July 2026) Income Tax on savings at the basic, higher and additional rates, all payers, United Kingdom, as the calendar-2025 window of the 2024-25 and 2025-26 projections: the base the Budget 2026 savings income rates are costed on. The incumbent registry binds no tax by income source or rate." }, { "kind": "ledger_only", - "ledger_value": 2237708612.980365, + "ledger_value": 2587500000.0, "name": "hmrc.itl.savings_tax_at_higher_rate", "period": 2025, "reason": "Coverage the incumbent lacks (microcosm#1418): HMRC's Income Tax liabilities Table 2.6 (July 2026) Income Tax on savings at the basic, higher and additional rates, all payers, United Kingdom, as the calendar-2025 window of the 2024-25 and 2025-26 projections: the base the Budget 2026 savings income rates are costed on. The incumbent registry binds no tax by income source or rate." diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json b/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json index 64af9da554..469216ffd7 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json @@ -4649,9 +4649,6 @@ "dfe.funded_childcare.working_parent_children_2_to_4", "dfi_ni.bus.passenger_receipts", "dwp.workplace_pension.employer_contributions", - "hmrc.itl.savings_tax_at_additional_rate", - "hmrc.itl.savings_tax_at_basic_rate", - "hmrc.itl.savings_tax_at_higher_rate", "nithc.public_transport_support", "obr.beer_and_cider_duties", "obr.wine_duties", @@ -8202,30 +8199,6 @@ "from": "2024", "to": "2025" }, - { - "name": "hmrc.itl.savings_tax_at_basic_rate", - "from": "2023", - "to": "2025", - "index": "obr.efo_2026_10.savings_income_growth", - "factor": "1.35618703816992", - "value_before_uprating": "1190000000.0" - }, - { - "name": "hmrc.itl.savings_tax_at_higher_rate", - "from": "2023", - "to": "2025", - "index": "obr.efo_2026_10.savings_income_growth", - "factor": "1.35618703816992", - "value_before_uprating": "1650000000.0" - }, - { - "name": "hmrc.itl.savings_tax_at_additional_rate", - "from": "2023", - "to": "2025", - "index": "obr.efo_2026_10.savings_income_growth", - "factor": "1.35618703816992", - "value_before_uprating": "2700000000.0" - }, { "name": "hmrc.spi.savings_interest_income.amount_by_total_income_band.band_100000", "from": "2023", @@ -23821,16 +23794,11 @@ "name": "hmrc.itl.savings_tax_at_basic_rate", "status": "active", "matched_fact_count_overall": 4, - "matched_fact_count_at_or_before_period": 1, + "matched_fact_count_at_or_before_period": 3, "resolved_period": 2025, - "resolved_value": 1613862575.4222026, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_461e08050a646d69b81e5ef5", - "uprating": { - "index": "obr.efo_2026_10.savings_income_growth", - "factor": "1.35618703816992", - "value_before_uprating": "1190000000.0" - } + "resolved_value": 1720000000.0, + "resolved_fact_period": "2025", + "resolved_fact_key": "ledger_aggregate_fact_v2_76d65d104935eb1a9e6c4d82" } ] }, @@ -23841,16 +23809,11 @@ "name": "hmrc.itl.savings_tax_at_higher_rate", "status": "active", "matched_fact_count_overall": 4, - "matched_fact_count_at_or_before_period": 1, + "matched_fact_count_at_or_before_period": 3, "resolved_period": 2025, - "resolved_value": 2237708612.980365, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_f83c68fe39bde903cdbad6a6", - "uprating": { - "index": "obr.efo_2026_10.savings_income_growth", - "factor": "1.35618703816992", - "value_before_uprating": "1650000000.0" - } + "resolved_value": 2587500000.0, + "resolved_fact_period": "2025", + "resolved_fact_key": "ledger_aggregate_fact_v2_29c9717012d95e7dd50c5d9c" } ] }, @@ -23861,16 +23824,11 @@ "name": "hmrc.itl.savings_tax_at_additional_rate", "status": "active", "matched_fact_count_overall": 4, - "matched_fact_count_at_or_before_period": 1, + "matched_fact_count_at_or_before_period": 3, "resolved_period": 2025, - "resolved_value": 3661705003.058779, - "resolved_fact_period": "2023", - "resolved_fact_key": "ledger_aggregate_fact_v2_49c077ad9857be0df3fc43cb", - "uprating": { - "index": "obr.efo_2026_10.savings_income_growth", - "factor": "1.35618703816992", - "value_before_uprating": "2700000000.0" - } + "resolved_value": 4087500000.0, + "resolved_fact_period": "2025", + "resolved_fact_key": "ledger_aggregate_fact_v2_f936b73617f0b0a75a5289dd" } ] }, diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_references.json b/packages/microcosm-build/src/microcosm/build/uk/target_references.json index 443182378a..5db205f2fa 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_references.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_references.json @@ -32515,10 +32515,8 @@ "contract_target_id": "hmrc.itl.savings_tax_at_basic_rate", "measure_kind": "prepared_column" }, - "uprating_index": "obr.efo_2026_10.savings_income_growth", - "value_operation": "sum", - "uprating_from_period": "2023", - "uprating_to_period": 2025 + "assertion_policy": "allow_source_projection", + "value_operation": "calendar_year_window" }, { "name": "hmrc.itl.savings_tax_at_higher_rate", @@ -32542,10 +32540,8 @@ "contract_target_id": "hmrc.itl.savings_tax_at_higher_rate", "measure_kind": "prepared_column" }, - "uprating_index": "obr.efo_2026_10.savings_income_growth", - "value_operation": "sum", - "uprating_from_period": "2023", - "uprating_to_period": 2025 + "assertion_policy": "allow_source_projection", + "value_operation": "calendar_year_window" }, { "name": "hmrc.itl.savings_tax_at_additional_rate", @@ -32569,10 +32565,8 @@ "contract_target_id": "hmrc.itl.savings_tax_at_additional_rate", "measure_kind": "prepared_column" }, - "uprating_index": "obr.efo_2026_10.savings_income_growth", - "value_operation": "sum", - "uprating_from_period": "2023", - "uprating_to_period": 2025 + "assertion_policy": "allow_source_projection", + "value_operation": "calendar_year_window" }, { "name": "hmrc.spi.savings_interest_income.amount_by_total_income_band.band_100000", diff --git a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json index a0158c32a7..3c256b320c 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json +++ b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json @@ -21801,7 +21801,7 @@ "value_expression": "0.2 * basic_rate_savings_income_annual", "from_entity": "person", "map_to": "household", - "notes": "Income Tax on savings income at the basic rate (20%), all payers, United Kingdom, bound at the 2025 calibration period as HMRC's 2023-24 outturn from Income Tax liabilities statistics Table 2.6 (July 2026), grown on the OBR's savings income path (selector_note). It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's basic_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (basic_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." + "notes": "Income Tax on savings income at the basic rate (20%), all payers, United Kingdom, bound at the 2025 calibration period as the calendar-2025 window of HMRC's 2024-25 and 2025-26 projections (3/12 and 9/12; value_operation calendar_year_window) from Income Tax liabilities statistics Table 2.6 (July 2026), HMRC's projection of the 2023-24 SPI base. It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's basic_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (basic_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." }, "axiom": { "metric_name": "hmrc/itl_savings_tax/basic_rate", @@ -21819,10 +21819,10 @@ }, "entity_name": "person" }, + "value_operation": "calendar_year_window", + "assertion_policy": "allow_source_projection", "category_id": "hmrc.income_tax_liabilities_statistics", - "label": "Income Tax on savings at the basic rate", - "uprating_index": "obr.efo_2026_10.savings_income_growth", - "selector_note": "Uprated from HMRC's 2023-24 outturn to the 2025 calibration period by the OBR's forecast growth of savings income (October 2026 EFO, receipts Table 4.5), chained from 2023-24 and weighted over the two fiscal years overlapping calendar 2025, about x1.36: the path the Budget's savings costing grows its 2023-24 base by, and the one SPI Table 3.7's savings rows take (María's choice of 2026-10-31, option A, microcosm#1428). Only the observed year is read. HMRC's own 2024-25 and 2025-26 projections, as a calendar-2025 window, put the tax about 12% higher (x1.52 over the outturn against x1.36 for the income): the frozen Personal Savings Allowance and thresholds take a growing share of savings into tax, a leverage this anchor leaves out." + "label": "Income Tax on savings at the basic rate" }, { "target_id": "hmrc.itl.savings_tax_at_higher_rate", @@ -21851,7 +21851,7 @@ "value_expression": "0.4 * higher_rate_savings_income_annual", "from_entity": "person", "map_to": "household", - "notes": "Income Tax on savings income at the higher rate (40%), all payers, United Kingdom, bound at the 2025 calibration period as HMRC's 2023-24 outturn from Income Tax liabilities statistics Table 2.6 (July 2026), grown on the OBR's savings income path (selector_note). It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's higher_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (higher_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." + "notes": "Income Tax on savings income at the higher rate (40%), all payers, United Kingdom, bound at the 2025 calibration period as the calendar-2025 window of HMRC's 2024-25 and 2025-26 projections (3/12 and 9/12; value_operation calendar_year_window) from Income Tax liabilities statistics Table 2.6 (July 2026), HMRC's projection of the 2023-24 SPI base. It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's higher_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (higher_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." }, "axiom": { "metric_name": "hmrc/itl_savings_tax/higher_rate", @@ -21869,10 +21869,10 @@ }, "entity_name": "person" }, + "value_operation": "calendar_year_window", + "assertion_policy": "allow_source_projection", "category_id": "hmrc.income_tax_liabilities_statistics", - "label": "Income Tax on savings at the higher rate", - "uprating_index": "obr.efo_2026_10.savings_income_growth", - "selector_note": "Uprated from HMRC's 2023-24 outturn to the 2025 calibration period by the OBR's forecast growth of savings income (October 2026 EFO, receipts Table 4.5), chained from 2023-24 and weighted over the two fiscal years overlapping calendar 2025, about x1.36: the path the Budget's savings costing grows its 2023-24 base by, and the one SPI Table 3.7's savings rows take (María's choice of 2026-10-31, option A, microcosm#1428). Only the observed year is read. HMRC's own 2024-25 and 2025-26 projections, as a calendar-2025 window, put the tax about 12% higher (x1.52 over the outturn against x1.36 for the income): the frozen Personal Savings Allowance and thresholds take a growing share of savings into tax, a leverage this anchor leaves out." + "label": "Income Tax on savings at the higher rate" }, { "target_id": "hmrc.itl.savings_tax_at_additional_rate", @@ -21901,7 +21901,7 @@ "value_expression": "0.45 * add_rate_savings_income_annual", "from_entity": "person", "map_to": "household", - "notes": "Income Tax on savings income at the additional rate (45%), all payers, United Kingdom, bound at the 2025 calibration period as HMRC's 2023-24 outturn from Income Tax liabilities statistics Table 2.6 (July 2026), grown on the OBR's savings income path (selector_note). It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's add_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (add_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." + "notes": "Income Tax on savings income at the additional rate (45%), all payers, United Kingdom, bound at the 2025 calibration period as the calendar-2025 window of HMRC's 2024-25 and 2025-26 projections (3/12 and 9/12; value_operation calendar_year_window) from Income Tax liabilities statistics Table 2.6 (July 2026), HMRC's projection of the 2023-24 SPI base. It is the base the Budget's savings income rates are costed on (Budget 2026 policy costings, savings income: all taxable savings income above the Personal Allowance, Personal Savings Allowance and starting rate, ISA returns excluded, from HMRC's Personal Tax Model on SPI 2023-24). The value is the rate times the engine's add_rate_savings_income, the savings income the rate charges once the allowances, the starting rate and the Personal Savings Allowance are taken, which policyengine-uk draws from savings_interest_income outside ISAs and other_investment_income together (taxable_savings_interest_income); it reads each person's income over the 12 months before their interview, a proxy for the tax year, as the other Income Tax liabilities rows do (add_rate_savings_income_annual). HMRC's savings may also hold gains on life insurance policies, which the frame holds in no input. microcosm#1418." }, "axiom": { "metric_name": "hmrc/itl_savings_tax/additional_rate", @@ -21919,10 +21919,10 @@ }, "entity_name": "person" }, + "value_operation": "calendar_year_window", + "assertion_policy": "allow_source_projection", "category_id": "hmrc.income_tax_liabilities_statistics", - "label": "Income Tax on savings at the additional rate", - "uprating_index": "obr.efo_2026_10.savings_income_growth", - "selector_note": "Uprated from HMRC's 2023-24 outturn to the 2025 calibration period by the OBR's forecast growth of savings income (October 2026 EFO, receipts Table 4.5), chained from 2023-24 and weighted over the two fiscal years overlapping calendar 2025, about x1.36: the path the Budget's savings costing grows its 2023-24 base by, and the one SPI Table 3.7's savings rows take (María's choice of 2026-10-31, option A, microcosm#1428). Only the observed year is read. HMRC's own 2024-25 and 2025-26 projections, as a calendar-2025 window, put the tax about 12% higher (x1.52 over the outturn against x1.36 for the income): the frozen Personal Savings Allowance and thresholds take a growing share of savings into tax, a leverage this anchor leaves out." + "label": "Income Tax on savings at the additional rate" }, { "target_id": "hmrc.spi.savings_interest_income.amount_by_total_income_band", diff --git a/packages/microcosm-build/tests/engine/uk/test_uk_itl_savings_tax_rates.py b/packages/microcosm-build/tests/engine/uk/test_uk_itl_savings_tax_rates.py index 3a8db7d154..bb142db3d5 100644 --- a/packages/microcosm-build/tests/engine/uk/test_uk_itl_savings_tax_rates.py +++ b/packages/microcosm-build/tests/engine/uk/test_uk_itl_savings_tax_rates.py @@ -3,8 +3,8 @@ Each ``hmrc.itl.savings_tax_at__rate`` row binds Table 2.6's tax on savings at one rate as that rate times the engine's savings income at it. These tests fail if policyengine-uk's savings rates move in either tax year of -calendar 2025, the period the rows are measured at, or if a row names another -rate's income. +the calendar-2025 window the rows bind, or if a row names another rate's +income. """ from __future__ import annotations @@ -47,7 +47,7 @@ def test_each_row_scales_its_rates_income_by_the_engines_rate(rate) -> None: "income_tax_component": f"savings_at_{rate}_rate" } parameters = CountryTaxBenefitSystem().parameters - # Calendar 2025's two tax years: 2024-25 and 2025-26, read as the engine + # The window's two tax years: 2024-25 and 2025-26, read as the engine # reads a year's parameters. for instant in ("2024-04-30", "2025-04-30"): savings = parameters(instant).gov.hmrc.income_tax.rates.savings diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py index fc09d276f7..48d0668d39 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py @@ -51,6 +51,7 @@ "hmrc_itl", "hmrc_itl_marginal_rate", "hmrc_itl_age", + "hmrc_itl_savings_rate", "dwp_benefit_expenditure", } NATIONAL_SELECTOR_KEYS = { From 0c2f5314f3a1f99bfbd69727c7b52a3aaac2b2d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 12:56:17 +0000 Subject: [PATCH 41/67] Declare the trading allowance receipts stage's source-household read The spine from f9676fed9 stopped in trading_allowance_receipts, and so did CI's graph driver test and the staging smoke test. The stage counts its receipt's support by household_source_id, but its graph declaration read only self_employment_income, so the executor didn't hand it that cell. The stage now declares the read, as regional_home_values and property_purchases do, and the H2 fixture's graph follows. The fixture tool's legacy oracle runs every stage on the whole frame, so it didn't catch this. Co-Authored-By: Claude Opus 5.5 --- .../src/microcosm/build/uk_runtime/graph.py | 7 +++++-- .../tests/fixtures/parity/uk_spine/uk_spine.json | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py index aa0a223630..f4e813ffb2 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py @@ -606,8 +606,11 @@ } ), # The gross receipts are drawn on each person's final self-employment - # profit (microcosm#1428). - "trading_allowance_receipts": frozenset({("person", "self_employment_income")}), + # profit, and the receipt counts support by source household + # (microcosm#1428). + "trading_allowance_receipts": frozenset( + {("person", "self_employment_income"), ("household", "household_source_id")} + ), # The copies' childcare re-draw reads every household's clone path (the # lineage columns of each copy stage) and keeps the native units' cells: # an open surface, like the other take-up redraws. diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json index 657d231819..61db8463df 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json @@ -1 +1 @@ -{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"8323227c614289f0aca067f8cf9beeb7cb32fc5745debde5851262fab77cedd2","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage trading_allowance_receipts.","id":"trading_allowance_receipts","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","lifetime_isa_payments","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.trading_allowance_receipts@1","mass":"conserve","outputs":[{"column":"self_employment_gross_receipts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"trading_allowance_receipts","stage_contract_sha256":"7b7b687a3139167e16917f26cea8400f55604efa7528ccf3b1a9876946bd7b31","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} +{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"8323227c614289f0aca067f8cf9beeb7cb32fc5745debde5851262fab77cedd2","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage trading_allowance_receipts.","id":"trading_allowance_receipts","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","lifetime_isa_payments","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.trading_allowance_receipts@1","mass":"conserve","outputs":[{"column":"self_employment_gross_receipts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"trading_allowance_receipts","stage_contract_sha256":"7b7b687a3139167e16917f26cea8400f55604efa7528ccf3b1a9876946bd7b31","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} From 3702769f09d554171b95e4681ab0fad06d1f0c5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 17:43:18 +0000 Subject: [PATCH 42/67] Pin the trading allowance receipts stage in the stage-order tests The receipts stage now runs after the ISA subscriptions, so the two tests that pinned the ISA subscriptions as the last spine stage name both. Co-Authored-By: Claude Opus 5.5 --- .../engine_free/uk/test_uk_isa_subscriptions.py | 3 ++- .../uk/test_uk_private_school_attendance.py | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_isa_subscriptions.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_isa_subscriptions.py index 9b0697df75..a438f363ab 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_isa_subscriptions.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_isa_subscriptions.py @@ -550,7 +550,8 @@ def test_the_committed_declaration_carries_the_tested_operations(): lisa = {artifact["role"]: artifact for artifact in stages["was_lisa"].artifacts} for role in ("was_qrf_donor", "was_person_tab"): assert roles[role] == lisa[role] - assert list(stages)[-1] == "isa_subscriptions" + # Only the self-employed's gross receipts run after it (microcosm#1428). + assert list(stages)[-2:] == ["isa_subscriptions", "trading_allowance_receipts"] def test_no_calibration_target_reads_an_isa_fact(): diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_private_school_attendance.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_private_school_attendance.py index cc02204d5c..a163fbb496 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_private_school_attendance.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_private_school_attendance.py @@ -107,15 +107,19 @@ def test_the_stage_needs_the_stored_draw_and_writes_attendance_once(): store_private_school_attendance(stored, engine=engine, calibration_year=2025) -def test_only_the_isa_subscriptions_follow_the_stage(): +def test_only_the_isa_subscriptions_and_receipts_follow_the_stage(): """No later stage copies or re-keys a person, so the stored flags reach - the release as the engine set them. Only the ISA subscriptions follow it, - writing person ISA columns on the rows they are given (microcosm#1415).""" + the release as the engine set them. Only the ISA subscriptions and the + self-employed's gross receipts follow it, each writing person columns on + the rows they are given (microcosm#1415, microcosm#1428).""" stages = load_country_spec("uk").sources.stages names = [stage.stage for stage in stages] later = stages[names.index("private_school_attendance") + 1 :] - assert [stage.stage for stage in later] == ["isa_subscriptions"] + assert [stage.stage for stage in later] == [ + "isa_subscriptions", + "trading_allowance_receipts", + ] for stage in later: assert PRIVATE_SCHOOL_ATTENDANCE_OUTPUT not in { *stage.outputs, From b9bcd709c3d770e884e2866c7acecdc9965ba24a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 17:43:18 +0000 Subject: [PATCH 43/67] Drop the ISA subscriptions stage's empty fit-weight records The stage fits no model, but it declared an empty fit_weight_records tuple. The stage evidence then carried an empty list for it, and the release-cut weights audit reads an empty list as a fitting stage that recorded nothing, so every national certified after #1421 failed uk_weights_audit. A regression test reads the stage's evidence. Co-Authored-By: Claude Opus 5.5 --- changelog.d/1428-isa-fit-weight-records.fixed.md | 1 + .../microcosm/build/uk_runtime/isa_subscriptions.py | 5 ----- .../engine_free/uk/test_uk_isa_subscriptions.py | 12 ++++++++++++ 3 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 changelog.d/1428-isa-fit-weight-records.fixed.md diff --git a/changelog.d/1428-isa-fit-weight-records.fixed.md b/changelog.d/1428-isa-fit-weight-records.fixed.md new file mode 100644 index 0000000000..967a5f7d98 --- /dev/null +++ b/changelog.d/1428-isa-fit-weight-records.fixed.md @@ -0,0 +1 @@ +The ISA subscriptions stage no longer declares an empty list of fit-weight records (#1428). It fits no model, but the release-cut weights audit read its empty list as a fitting stage that recorded nothing, so every national certified after #1421 failed `uk_weights_audit`. diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/isa_subscriptions.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/isa_subscriptions.py index c7145e9d17..f9054c4363 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/isa_subscriptions.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/isa_subscriptions.py @@ -60,7 +60,6 @@ import numpy as np import pandas as pd -from microcosm.build.gates import FitWeightRecord from microcosm.build.source_manifest import SourceStageSpec from microcosm.build.stochastic_assignment import stable_identity_uniforms from microcosm.build.uk_runtime.cgt_imputation import ( @@ -1643,10 +1642,6 @@ class UKISASubscriptionsStageTransform: statistics: HMRCISAStatistics | None = None last_receipt: Mapping[str, Any] | None = field(default=None, init=False) - @property - def fit_weight_records(self) -> tuple[FitWeightRecord, ...]: - return () - def _table( self, supplied: pd.DataFrame | None, diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_isa_subscriptions.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_isa_subscriptions.py index a438f363ab..b11dc5592b 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_isa_subscriptions.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_isa_subscriptions.py @@ -9,6 +9,7 @@ import pytest from microcosm.build.source_manifest import SourceOperationSpec +from microcosm.build.stage_evidence import snapshot_stage_evidence from microcosm.build.uk_runtime import isa_subscriptions as stage from microcosm.build.uk_runtime.cgt_imputation import ( UK_CGT_TAXABLE_INCOME_PROXY_COMPONENTS, @@ -392,6 +393,17 @@ def test_the_whole_stage_writes_its_columns_within_every_invariant(statistics): assert gate.passed, (gate_id, gate.failures) +def test_the_stage_declares_no_fit_weight_records(statistics): + """The stage fits no model. A declared empty list read as a fitting stage + that recorded nothing, which failed the release-cut weights audit + (microcosm#1428).""" + + transform = _transform(statistics) + transform(_stage_frame()) + evidence = snapshot_stage_evidence("isa_subscriptions", transform) + assert "fit_weight_records" not in evidence + + def test_reordering_the_rows_moves_no_draw(statistics): """Every draw is keyed on identity, so row order moves none. From c5ef12756f3695081082b35ad1c7af5bfda58c15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 17:43:26 +0000 Subject: [PATCH 44/67] Anchor the SPI copies' gift leaves to the tape's weighted totals MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gift Aid and charitable investment gifts are sparse leaves that the stage-1 chain draws after, and conditioned on, the income leaves. Rebasing the donor savings on the tape's taxpayers changed which few donors' gifts the copies drew, and the release-cut input-mass check found charitable_investment_gifts beyond its band. Each column's total over the drawn copies, at the stage's household weights, is now scaled to the prepared tape's FACT-weighted total (María's ruling of 2026-10-31). The stage evidence records each column's factor only. Co-Authored-By: Claude Opus 5.5 --- changelog.d/1428-spi-gift-anchor.fixed.md | 1 + .../microcosm/build/uk_runtime/spi_income.py | 55 +++++++++++++++++++ .../microcosm/build/uk_runtime/spi_spine.py | 1 + .../tests/engine/uk/test_uk_spi_income.py | 21 +++++-- .../uk/test_uk_spi_savings_rebase.py | 47 ++++++++++++++++ 5 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 changelog.d/1428-spi-gift-anchor.fixed.md diff --git a/changelog.d/1428-spi-gift-anchor.fixed.md b/changelog.d/1428-spi-gift-anchor.fixed.md new file mode 100644 index 0000000000..b95723a37b --- /dev/null +++ b/changelog.d/1428-spi-gift-anchor.fixed.md @@ -0,0 +1 @@ +The SPI income stage anchors the drawn copies' Gift Aid and charitable investment gifts to the SPI tape's own weighted totals (#1428; María's ruling of 2026-10-31). Both are sparse leaves that the stage-1 chain draws after, and conditioned on, the income leaves. Rebasing the donor savings on the tape's taxpayers therefore changed which few donors' gifts the copies drew, and the release-cut input-mass check found `charitable_investment_gifts` beyond its band. Each column's total over the drawn copies, at the stage's household weights, is now scaled to the tape's FACT-weighted total. A column that the tape or the copies carry none of is left as drawn. The stage evidence records each column's factor, never a total or a count. diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py index bd263d5aa6..1067bd1aea 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py @@ -724,6 +724,7 @@ class UKSPIIncomeImputationResult: state_pension_age: int | None = None gainful_self_employment_refresh: Mapping[str, object] | None = None pension_coherence: Mapping[str, object] | None = None + gift_anchor: Mapping[str, object] | None = None @dataclass(frozen=True) @@ -1347,6 +1348,9 @@ def fit_reference(encoded: pd.DataFrame, observed: pd.DataFrame): ) guard_receipts.append(receipt) + person, gift_anchor = _anchor_spi_gifts_to_tape( + person, household, donor_full, spi_people=spi_people + ) # Non-ISA interest is the stage-1 taxable draw; ISA interest is the stage-2 # draw beside it (microcosm#1360). person.loc[spi_people, "savings_interest_income"] = taxable_interest_draw @@ -1402,6 +1406,7 @@ def fit_reference(encoded: pd.DataFrame, observed: pd.DataFrame): state_pension_age=int(state_pension_age), gainful_self_employment_refresh=gainful_self_employment, pension_coherence=pension_coherence, + gift_anchor=gift_anchor, ) @@ -2804,6 +2809,56 @@ def _spi_pension_coherence( return person, receipt +#: Gift Aid and charitable investment gifts are sparse leaves the stage-1 +#: chain draws after, and conditioned on, the income leaves, so a change to +#: the donor savings rebase reshuffles which few donors' gifts the copies +#: draw: rebasing on the tape's taxpayers moved the copies' charitable +#: investment gifts far from the tape's own total (microcosm#1428). Their +#: totals over the drawn copies, at the stage's weights, are anchored to the +#: tape's own FACT-weighted totals (María's ruling of 2026-10-31). Both +#: columns are nominal, as their uprating mapping (None) keeps them. +SPI_GIFT_ANCHOR_COLUMNS = ("gift_aid", "charitable_investment_gifts") +SPI_GIFT_ANCHOR_BASIS = ( + "each column's total over the drawn copies at the stage's household " + "weights equals the prepared tape's FACT-weighted total; a column the " + "tape or the copies carry none of is left as drawn" +) + + +def _anchor_spi_gifts_to_tape( + person: pd.DataFrame, + household: pd.DataFrame, + donor: pd.DataFrame, + *, + spi_people: pd.Series, +) -> tuple[pd.DataFrame, dict[str, object]]: + """Scale the copies' gift leaves to the tape's FACT-weighted totals. + + The receipt records each column's factor only, never a total or a count. + """ + + weights = _person_household_weights(person, household).to_numpy(dtype=np.float64) + rows = spi_people.reindex(person.index).fillna(False).to_numpy(dtype=bool) + fact = donor["FACT"].to_numpy(dtype=np.float64) + factors: dict[str, float] = {} + for column in SPI_GIFT_ANCHOR_COLUMNS: + tape = float((fact * donor[column].to_numpy(dtype=np.float64)).sum()) + values = person[column].to_numpy(dtype=np.float64, copy=True) + drawn = float((weights[rows] * values[rows]).sum()) + if tape <= 0.0 or drawn <= 0.0: + factors[column] = 1.0 + continue + factor = tape / drawn + values[rows] = values[rows] * factor + person[column] = values + factors[column] = factor + return person, { + "columns": list(SPI_GIFT_ANCHOR_COLUMNS), + "basis": SPI_GIFT_ANCHOR_BASIS, + "factors": factors, + } + + def _person_household_weights( person: pd.DataFrame, household: pd.DataFrame, diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py index 0fcbd5724b..dd97836aa4 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py @@ -405,6 +405,7 @@ def evidence(self) -> dict[str, object]: self.imputation.gainful_self_employment_refresh ), "pension_coherence": self.imputation.pension_coherence, + "gift_anchor": self.imputation.gift_anchor, "state_pension_age_guard": list(self.imputation.state_pension_age_guard), "targets": { "count": len(self.source_targets.targets), diff --git a/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py b/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py index 084ad807fa..7c225111d0 100644 --- a/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py +++ b/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py @@ -47,7 +47,8 @@ def test_spi_preserves_observed_children_outside_the_donor_age_domain( ) assert result.spi_prediction_rows == int(person[channel].eq("spi").sum()) - 1 adults = person[channel].eq("spi") & person.age.ge(16) - assert result.person.loc[adults, "gift_aid"].eq(10).all() + factor = result.gift_anchor["factors"]["gift_aid"] + assert result.person.loc[adults, "gift_aid"].eq(10.0 * factor).all() def test_spi_rebases_income_before_frs_fill_and_preserves_child_inputs( @@ -411,8 +412,19 @@ def test_spi_qrf_stages_use_typed_weights_and_keep_isa_interest_apart( .all() ) assert result.person.loc[spi_people, "other_investment_income"].eq(25.0).all() - assert result.person.loc[spi_people, "gift_aid"].eq(10.0).all() - assert result.person.loc[spi_people, "charitable_investment_gifts"].eq(2.0).all() + # The gift leaves are the forest's draws scaled to the tape's FACT-weighted + # totals, 300 of Gift Aid and 30 of investment gifts (microcosm#1428). + factors = result.gift_anchor["factors"] + weights = result.person.loc[spi_people, "person_household_id"].map( + support.household.set_index("household_id")["household_weight"] + ) + for column, draw, tape in ( + ("gift_aid", 10.0, 300.0), + ("charitable_investment_gifts", 2.0, 30.0), + ): + gifts = result.person.loc[spi_people, column] + assert gifts.eq(draw * factors[column]).all() + assert (weights * gifts).sum() == pytest.approx(tape) assert ( result.person.loc[ spi_people, @@ -872,7 +884,8 @@ def test_undrawn_twins_keep_their_values_and_are_receipted( result.person.loc[copy[0], kept], person.loc[copy[0], kept], check_names=False ) others = person.index[(person[channel] == "spi") & (person["age"] >= 16)].drop(copy) - assert result.person.loc[others, "gift_aid"].eq(10.0).all() + factor = result.gift_anchor["factors"]["gift_aid"] + assert result.person.loc[others, "gift_aid"].eq(10.0 * factor).all() # The stage flags the rows it drew, and only those, for the later stages # that tell tape-concept rows from FRS-concept ones. flag = result.person["person_is_spi_income_recipient"] diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py index 8e01545f14..b6317d4dcc 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py @@ -219,3 +219,50 @@ def test_a_tape_that_does_not_gross_to_the_population_is_left_as_it_is() -> None for column in PUBLISHED: assert "skipped" in receipt["columns"][column] pd.testing.assert_series_equal(rebased[column], donor[column]) + + +def test_gift_leaves_are_anchored_to_the_tapes_weighted_totals() -> None: + # Two copies drawn, one FRS row and one undrawn copy; the tape's + # FACT-weighted totals are 3,000 of Gift Aid and 600 of investment gifts. + person = pd.DataFrame( + { + "person_id": [1, 2, 3, 4], + "person_household_id": [10, 20, 30, 40], + "gift_aid": [100.0, 300.0, 50.0, 70.0], + "charitable_investment_gifts": [0.0, 400.0, 0.0, 9.0], + } + ) + household = pd.DataFrame( + {"household_id": [10, 20, 30, 40], "household_weight": [2.0, 3.0, 5.0, 7.0]} + ) + donor = pd.DataFrame( + { + "FACT": [10.0, 20.0], + "gift_aid": [100.0, 100.0], + "charitable_investment_gifts": [0.0, 30.0], + } + ) + drawn = pd.Series([True, True, False, False]) + anchored, receipt = spi_income._anchor_spi_gifts_to_tape( + person.copy(), household, donor, spi_people=drawn + ) + weights = pd.Series([2.0, 3.0]) + # The drawn copies carried 1,100 of Gift Aid and 1,200 of investment gifts. + assert (weights * anchored.loc[:1, "gift_aid"]).sum() == pytest.approx(3_000.0) + assert (weights * anchored.loc[:1, "charitable_investment_gifts"]).sum() == ( + pytest.approx(600.0) + ) + assert receipt["factors"] == pytest.approx( + {"gift_aid": 3_000.0 / 1_100.0, "charitable_investment_gifts": 0.5} + ) + # Rows the stage did not draw keep their values. + assert anchored.loc[2:, "gift_aid"].tolist() == [50.0, 70.0] + assert anchored.loc[2:, "charitable_investment_gifts"].tolist() == [0.0, 9.0] + # A column the tape carries none of is left as drawn. + _, receipt = spi_income._anchor_spi_gifts_to_tape( + person.copy(), + household, + donor.assign(charitable_investment_gifts=0.0), + spi_people=drawn, + ) + assert receipt["factors"]["charitable_investment_gifts"] == 1.0 From a8e25870c4eed8f73dfe17e8a7cc9dd057155a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sat, 31 Oct 2026 17:54:54 +0000 Subject: [PATCH 45/67] Bind DWP's income-based Jobseeker's Allowance spending MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit María's ruling of 2026-10-31 (microcosm#1428). The release-cut input-mass check on the national from 0c2f5314f found jsa_income_reported beyond its band. The national met OBR's total JSA by scaling income-based reporters together with contributory claimants, but income-based JSA closes with the move to Universal Credit: DWP's Spring Forecast 2026 puts it at GBP 91.0m in FY2024-25 and under GBP 1m from FY2025-26. - dwp.jsa.amount_income_based binds DWP's income-based expenditure line on jsa_income over Great Britain, at the calendar-2025 window of the two fiscal years, as the pension-age Housing Benefit row is. The solve now meets the rest of OBR's total on contributory claimants. The target is unmapped in the registry parity (no uk-data metric). - The national references and membership and the national compile-parity receipt are regenerated on the pinned feed (53815b2): one new row, resolved at GBP 23.4m. Co-Authored-By: Claude Opus 5.5 --- .../1428-dwp-jsa-income-based.added.md | 1 + ...ity_incumbent_2025_signed_differences.json | 13 +++- .../build/uk/target_reference_membership.json | 27 ++++++- .../microcosm/build/uk/target_references.json | 29 +++++++ .../build/uk/uk_population_targets.json | 75 +++++++++++++++++++ .../uk/test_uk_population_targets.py | 19 ++--- .../uk/test_uk_target_references.py | 5 +- 7 files changed, 151 insertions(+), 18 deletions(-) create mode 100644 changelog.d/1428-dwp-jsa-income-based.added.md diff --git a/changelog.d/1428-dwp-jsa-income-based.added.md b/changelog.d/1428-dwp-jsa-income-based.added.md new file mode 100644 index 0000000000..aa0456ebb1 --- /dev/null +++ b/changelog.d/1428-dwp-jsa-income-based.added.md @@ -0,0 +1 @@ +The national calibration binds DWP's income-based Jobseeker's Allowance spending, `dwp.jsa.amount_income_based` (benefit expenditure and caseload tables, Spring Forecast 2026), at the calendar-2025 window of the fiscal years, as the pension-age Housing Benefit row is (#1428; María's ruling of 2026-10-31). Income-based JSA closes with the move to Universal Credit: £91.0m in FY2024-25 and under £1m from FY2025-26. Without the split, the calibration met OBR's total JSA by scaling income-based reporters together with contributory claimants. The release-cut input-mass check then found `jsa_income_reported` beyond its band. diff --git a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json index 4e0514dcb2..bd01166f9c 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json +++ b/packages/microcosm-build/src/microcosm/build/uk/ledger_compile_parity_incumbent_2025_signed_differences.json @@ -1,11 +1,11 @@ { - "compiled_count": 1411, + "compiled_count": 1412, "counts_by_kind": { "calibration_drift": 557, "fixture_only": 48, - "ledger_only": 822 + "ledger_only": 823 }, - "difference_count": 1427, + "difference_count": 1428, "differences": [ { "fixture_value": 1608000.0, @@ -679,6 +679,13 @@ "period": 2025, "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." }, + { + "kind": "ledger_only", + "ledger_value": 23377178.788788605, + "name": "dwp.jsa.amount_income_based", + "period": 2025, + "reason": "Ledger-compiled row has no fixture counterpart at this comparison period." + }, { "kind": "ledger_only", "ledger_value": 1390586.25, diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json b/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json index 469216ffd7..30e565ddeb 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_reference_membership.json @@ -1,11 +1,11 @@ { "source_fact_feed": "chronicle-uk-53815b2-consumer-facts", "target_period": 2025, - "candidate_count": 1452, - "contract_target_count": 395, - "active_reference_count": 1411, + "candidate_count": 1453, + "contract_target_count": 396, + "active_reference_count": 1412, "status_counts": { - "active": 1411, + "active": 1412, "no_fact_at_or_before_period": 4, "signed_excluded": 37 }, @@ -4488,6 +4488,10 @@ "geography_level": "country", "geography_id": "K03000001" }, + "dwp.jsa.amount_income_based": { + "geography_level": "country", + "geography_id": "K03000001" + }, "microcosm.high_value_homes.over_1m_by_region": { "geography_fanout": [ { @@ -31872,6 +31876,21 @@ } ] }, + "dwp.jsa.amount_income_based": { + "status": "active", + "candidates": [ + { + "name": "dwp.jsa.amount_income_based", + "status": "active", + "matched_fact_count_overall": 2, + "matched_fact_count_at_or_before_period": 2, + "resolved_period": 2025, + "resolved_value": 23377178.788788605, + "resolved_fact_period": "2025", + "resolved_fact_key": "ledger_aggregate_fact_v2_6d0a1e9a4006a42d57b637a2" + } + ] + }, "microcosm.high_value_homes.over_1m_by_region": { "status": "active", "candidates": [ diff --git a/packages/microcosm-build/src/microcosm/build/uk/target_references.json b/packages/microcosm-build/src/microcosm/build/uk/target_references.json index 5db205f2fa..224c13a3a3 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/target_references.json +++ b/packages/microcosm-build/src/microcosm/build/uk/target_references.json @@ -310,6 +310,7 @@ "dwp.hb.households_pension_age_social_rented": "dwp.legacy_benefits", "dwp.hb.households_private_rented": "dwp.housing_benefit", "dwp.hb.households_social_rented": "dwp.housing_benefit", + "dwp.jsa.amount_income_based": "dwp.legacy_benefits", "dwp.jsa_claimants": "dwp.legacy_benefits", "dwp.pension_credit.benefit_units": "dwp.pension_credit", "dwp.pension_credit.benefit_units_65_69": "dwp.pension_credit", @@ -696,6 +697,7 @@ "dwp.hb.households_pension_age_social_rented": "Housing Benefit benefit units, pension age, social rented sector", "dwp.hb.households_private_rented": "Housing Benefit claimants, private rented", "dwp.hb.households_social_rented": "Housing Benefit claimants, social rented", + "dwp.jsa.amount_income_based": "Jobseeker's Allowance spending, income-based", "dwp.jsa_claimants": "Jobseeker\u2019s Allowance claimants", "dwp.pension_credit.benefit_units": "Pension Credit benefit units, Great Britain", "dwp.pension_credit.benefit_units_65_69": "Pension Credit benefit units, claimant aged 65 to 69", @@ -48838,6 +48840,33 @@ "assertion_policy": "allow_source_projection", "value_operation": "calendar_year_window" }, + { + "name": "dwp.jsa.amount_income_based", + "ledger_selector": { + "source_name": "dwp", + "source_concept": "dwp.benefit_expenditure_amount", + "entity_name": "government", + "dimension_values": { + "benefit_forecast_line": "unemployment_benefits__jobseekers_allowance__income_based" + }, + "source_measure_id_by_opening_year": { + "2024": "expenditure_2024", + "2025": "expenditure_2025" + }, + "geography_level": "country", + "geography_id": "K03000001" + }, + "entity": "benunit", + "measure": "dwp/jsa/amount_income_based", + "family": "dwp_benefit_expenditure", + "period": 2025, + "metadata": { + "contract_target_id": "dwp.jsa.amount_income_based", + "measure_kind": "prepared_column" + }, + "assertion_policy": "allow_source_projection", + "value_operation": "calendar_year_window" + }, { "name": "microcosm.high_value_homes.over_1m_by_region@E12000001", "ledger_selector": { diff --git a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json index 3c256b320c..3d2b27ef55 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json +++ b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json @@ -836,6 +836,7 @@ "dwp.hb.households_pension_age_social_rented": "Post-freeze fact family (DWP Stat-Xplore Housing Benefit, pension age), no uk-data metric (microcosm#1069 c10).", "dwp.hb.households_pension_age_private_rented": "Post-freeze fact family (DWP Stat-Xplore Housing Benefit, pension age), no uk-data metric (microcosm#1069 c10).", "dwp.hb.amount_pension_age": "Post-freeze fact family (DWP benefit expenditure and caseload tables, pension-age Housing Benefit spending), no uk-data metric (microcosm#1095).", + "dwp.jsa.amount_income_based": "Post-freeze fact family (DWP benefit expenditure and caseload tables, income-based Jobseeker's Allowance spending), no uk-data metric (microcosm#1428).", "ons.households.english_regions": "Post-freeze fact family (each nation's official household estimate: LFS 2025 for England's regions, NRS 2025, Welsh Government rolled to 2025, Census 2021 rolled by LPS stock for Northern Ireland), no uk-data metric (microcosm#1123, nations win).", "nrs.households.scotland": "Post-freeze fact family (each nation's official household estimate: LFS 2025 for England's regions, NRS 2025, Welsh Government rolled to 2025, Census 2021 rolled by LPS stock for Northern Ireland), no uk-data metric (microcosm#1123, nations win).", "welshgov.households.wales": "Post-freeze fact family (each nation's official household estimate: LFS 2025 for England's regions, NRS 2025, Welsh Government rolled to 2025, Census 2021 rolled by LPS stock for Northern Ireland), no uk-data metric (microcosm#1123, nations win).", @@ -1320,6 +1321,7 @@ "dwp.hb.households_pension_age_social_rented", "dwp.hb.households_pension_age_private_rented", "dwp.hb.amount_pension_age", + "dwp.jsa.amount_income_based", "microcosm.high_value_homes.over_1m_by_region", "microcosm.high_value_homes.over_1_5m_by_region", "microcosm.high_value_homes.over_2m_by_region", @@ -30236,6 +30238,79 @@ "label": "Housing Benefit spending, pension age", "value_operation": "calendar_year_window" }, + { + "target_id": "dwp.jsa.amount_income_based", + "family": "dwp_benefit_expenditure", + "geography_levels": [ + "country" + ], + "measurement": { + "entity": "benunit", + "concept": "uk.benefits.jsa_income.amount", + "filters": [ + { + "concept": "uk.geography.country", + "operator": "in", + "value": [ + "england", + "scotland", + "wales" + ] + } + ] + }, + "bindings": { + "policyengine": { + "metric_name": "dwp/jsa/amount_income_based", + "value_variable": "jsa_income", + "from_entity": "benunit", + "household_conditions": [ + { + "variable": "region", + "entity": "household", + "reduce": "any", + "operator": "in", + "value": [ + "NORTH_EAST", + "NORTH_WEST", + "YORKSHIRE", + "EAST_MIDLANDS", + "WEST_MIDLANDS", + "EAST_OF_ENGLAND", + "LONDON", + "SOUTH_EAST", + "SOUTH_WEST", + "WALES", + "SCOTLAND" + ], + "map_to": "benunit" + } + ], + "notes": "DWP benefit expenditure and caseload tables, Spring Forecast 2026: the Unemployment_benefits worksheet line 'Jobseeker's Allowance, income-based', nominal GBP, which DWP publishes for Great Britain plus residents overseas (Notes tab), so the model column sums Great Britain households only. Bound at the calendar-2025 window of the fiscal years (three twelfths of the FY2024-25 outturn, nine twelfths of the FY2025-26 forecast; calendar_year_window), as the pension-age Housing Benefit row is. Income-based JSA closes with the move to Universal Credit: GBP 144.7m in FY2023-24, GBP 91.0m in FY2024-25 and under GBP 1m forecast from FY2025-26. Without the split, the calibration met OBR's total JSA (obr.jobseekers_allowance) by scaling income-based reporters with contributory claimants, well above the window's level (microcosm#1428, María's ruling of 2026-10-31). The value is the engine's jsa_income, income-based JSA paid on the reported award." + }, + "axiom": { + "metric_name": "dwp/jsa/amount_income_based", + "status": "pending", + "value_rule": "uk.benefits.jsa_income.amount" + } + }, + "assertion_policy": "allow_source_projection", + "ledger_selector": { + "source_name": "dwp", + "source_concept": "dwp.benefit_expenditure_amount", + "entity_name": "government", + "dimension_values": { + "benefit_forecast_line": "unemployment_benefits__jobseekers_allowance__income_based" + }, + "source_measure_id_by_opening_year": { + "2024": "expenditure_2024", + "2025": "expenditure_2025" + } + }, + "category_id": "dwp.legacy_benefits", + "label": "Jobseeker's Allowance spending, income-based", + "value_operation": "calendar_year_window" + }, { "target_id": "microcosm.high_value_homes.over_1m_by_region", "family": "high_value_homes", diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py index 48d0668d39..a017b658a7 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_population_targets.py @@ -259,8 +259,8 @@ def test_uk_population_targets_shape_order_and_registry_accounting() -> None: # it by constituency and local authority, SPI Table 3.7's other income by # total-income band, and SPI Table 3.10's self-employment counts and # amounts by self-employment band and the counts with employment income - # among them. - assert len(resource["targets"]) == 457 + # among them, and DWP's income-based Jobseeker's Allowance spending. + assert len(resource["targets"]) == 458 providers = resource["hierarchy"]["providers"] categories = resource["hierarchy"]["categories"] @@ -274,10 +274,10 @@ def test_uk_population_targets_shape_order_and_registry_accounting() -> None: target_ids = [target["target_id"] for target in resource["targets"]] registry_scope = resource["registry_parity"]["scope_target_ids"] profile_scope = resource["profile_parity"]["scope_target_ids"] - assert len(registry_scope) == 395 + assert len(registry_scope) == 396 assert len(profile_scope) == 62 - assert target_ids[:395] == registry_scope - assert target_ids[395:] == profile_scope + assert target_ids[:396] == registry_scope + assert target_ids[396:] == profile_scope parity = resource["registry_parity"] assert parity["pinned_ref"] == "12a1e028afeef08d8b2d74ee03fd9de3a78b2dd3" @@ -304,9 +304,10 @@ def test_uk_population_targets_shape_order_and_registry_accounting() -> None: # OBR excise rows have no uk-data metric (uk-data never measured excise # duty), nor microcosm#1069's two Income Tax payer by age rows, nor # microcosm#1418's three Income Tax on savings rows, its SPI other income - # row or its three Table 3.10 rows. + # row or its three Table 3.10 rows, nor microcosm#1428's income-based JSA + # spending row. assert len(mapped_target_ids) == 183 - assert len(unmapped_declarations) == 212 + assert len(unmapped_declarations) == 213 suppressed_ancestors = parity["suppressed_ancestors"] assert len(suppressed_ancestors) == 5 assert set(suppressed_ancestors).isdisjoint(parity["mapped"]) @@ -813,7 +814,7 @@ def test_uk_population_targets_have_unique_target_ids() -> None: resource = _load() target_ids = [target["target_id"] for target in resource["targets"]] - assert len(target_ids) == 457 + assert len(target_ids) == 458 assert len(target_ids) == len(set(target_ids)) @@ -1316,7 +1317,7 @@ def test_uc_payment_bands_share_administrative_family_but_keep_source_window() - def test_paid_joint_diagnostics_do_not_add_active_targets() -> None: targets = _load()["targets"] - assert len(targets) == 457 + assert len(targets) == 458 assert not any( f.get("variable") == "uc_calibration_child_entitlement" for target in targets diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_target_references.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_target_references.py index 282a512ead..91b58ab79c 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_target_references.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_target_references.py @@ -78,7 +78,8 @@ # microcosm#1418 PR C: + 13, SPI Table 3.7's other income by band, and + 16, # SPI Table 3.10's self-employment bands from GBP 1 to GBP 10,000; its # savings follow-up (microcosm#1428): + 8, Table 3.10's individuals with -# employment income over the same bands; +# employment income over the same bands, and + 1, DWP's income-based +# Jobseeker's Allowance spending; # microcosm#1418: + 3, HMRC's Income Tax on savings at each rate; # microcosm#1069: + 24, HMRC's Income Tax payers of State Pension age and aged # 65 and over in the twelve region-tier areas; microcosm#1095 (the bump after @@ -124,7 +125,7 @@ # thresholds over England's regions and Wales), which the national line drops # after the compile, less the North East and Wales rows over £2m, signed out # below the small-cell floor -ACTIVE_REFERENCE_COUNT = 1411 +ACTIVE_REFERENCE_COUNT = 1412 REGION_TIER_LEVEL = {code: level for level, code in UK_REGION_TIER} From 91775db4ab1b403404bf863e752dddf9e2e874f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sun, 1 Nov 2026 16:11:04 +0000 Subject: [PATCH 46/67] Keep annuity and trust income in pensions and rebase savings once The #1428 review's modelling findings 1, 6, 7 and 10. - Annuity and trust payments (FRS PENTYPE 4 and 5) stay in private_pension_income, where policyengine-uk's means tests, household income and tax read them. A calibration-only descriptor, annuity_and_trust_income, stores their part, and SPI Table 3.7's other-income rows read other_investment_income_spi_concept: the engine's other income plus that share of its private pension. Rows the SPI stage draws carry a zero descriptor. The FRS spine refuses a pension tab without PENTYPE. - The SPI savings rebase bands the tape on its income moved to 2023-24, repeating until no record crosses a band edge, so consumers that re-band on uprated income count the migration once. A taxpayer is a record the tape flags, or one whose income crosses the first band by 2023-24, and flagged taxpayers below the first band sit in it. A band under a tenth of its published amount takes the all-bands factor, a column the rebase skips grows on its engine index from 2022-23, and TAXPAYER codes other than 1 and 2 are refused. - The UC take-up stage holds a pool that can't meet DWP's count at its clip and passes its gap to neighbouring pools, offsetting opposite gaps first, so every band keeps its own rate. The export surface allows the descriptor, and the release-cut contract digests follow. Co-Authored-By: Claude Opus 5.5 --- .../1418-spi-donor-savings-rebase.changed.md | 2 +- ...28-frs-other-income-definitions.changed.md | 2 +- .../1428-spi-rebase-taxpayers.fixed.md | 1 - ...28-uc-take-up-joins-unmet-pools.changed.md | 1 - ...28-uc-take-up-passes-unmet-gaps.changed.md | 1 + .../src/microcosm/build/uk/gates.json | 1 + .../src/microcosm/build/uk/source_stages.json | 11 +- .../src/microcosm/build/uk/spec/sources.yaml | 9 +- .../build/uk/uk_population_targets.json | 4 +- .../microcosm/build/uk_runtime/frs_spine.py | 58 ++-- .../src/microcosm/build/uk_runtime/graph.py | 4 + .../build/uk_runtime/measure_simulation.py | 65 ++++- .../microcosm/build/uk_runtime/spi_income.py | 257 ++++++++++++++---- .../microcosm/build/uk_runtime/spi_spine.py | 6 + .../build/uk_runtime/terminal_gates.py | 3 + .../microcosm/build/uk_runtime/uc_take_up.py | 169 +++++++----- .../tests/engine/uk/test_uk_spi_income.py | 15 +- .../tests/engine_free/uk/test_uk_frs_spine.py | 30 +- .../uk/test_uk_measure_simulation.py | 57 ++++ .../uk/test_uk_spi_savings_rebase.py | 174 +++++++++++- .../tests/engine_free/uk/test_uk_spi_spine.py | 2 +- .../engine_free/uk/test_uk_uc_take_up.py | 71 +++-- .../src/microcosm/data/contract.py | 4 +- tools/graph_uk_spine_fixture.py | 4 + 24 files changed, 740 insertions(+), 211 deletions(-) delete mode 100644 changelog.d/1428-spi-rebase-taxpayers.fixed.md delete mode 100644 changelog.d/1428-uc-take-up-joins-unmet-pools.changed.md create mode 100644 changelog.d/1428-uc-take-up-passes-unmet-gaps.changed.md diff --git a/changelog.d/1418-spi-donor-savings-rebase.changed.md b/changelog.d/1418-spi-donor-savings-rebase.changed.md index 6875c2ace1..345fd8fdff 100644 --- a/changelog.d/1418-spi-donor-savings-rebase.changed.md +++ b/changelog.d/1418-spi-donor-savings-rebase.changed.md @@ -1 +1 @@ -The SPI income stage now rebases the 2022-23 tape's interest and other income to HMRC's published 2023-24 Table 3.7 amounts band by band (the tape banded by its own total income; the published rows are vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then carries both to the frame's year on the OBR's savings income growth (October 2026 EFO, Table 4.5), the path the Table 3.7 band targets take. Before, each column moved by its engine index from 2022 to 2024: other income by GDP per head (x1.09) where SPI's own other income grew x1.65 in the single year to 2023-24, and interest by ONS household interest (x2.27) where SPI's grew x2.69 in that year. The frame then carried about 70 percent of the Table 3.7 savings rows at design weights, and the solve met them by stretching the weights of the few households that carry them. On the tape, the £1m-and-over band's other income outweighs its interest, as in the published table, so the rebase also undoes the split the two indices had flipped (#1418 savings follow-up). +The SPI income stage now rebases the 2022-23 tape's interest and other income to HMRC's published 2023-24 Table 3.7 amounts band by band (the published rows are vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then carries both to the frame's year on the OBR's savings income growth (October 2026 EFO, Table 4.5), the path the Table 3.7 band targets take (#1418 savings follow-up, #1428). Before, each column moved by its engine index from 2022 to 2024: other income by GDP per head (x1.09) where SPI's own other income grew x1.65 in the single year to 2023-24, and interest by ONS household interest (x2.27) where SPI's grew x2.69 in that year. The frame then carried about 70 percent of the Table 3.7 savings rows at design weights, and the solve met them by stretching the weights of the few households that carry them. Each band's factor is the published amount over the FACT-weighted amount of the tape's taxpayers in the band, as Table 3.7 counts taxpayers only. The tape is banded on its income moved to 2023-24, repeating until the rebased savings move no record across a band edge, so the band-edge migration its consumers re-band on uprated income is counted once. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income crosses the Personal Allowance by 2023-24, so a saver who becomes a taxpayer counts once; a flagged taxpayer below the first band sits in it (note 8), and any other record takes the factor of all bands. A band too thin to gross (under a tenth of its published amount) takes the factor of all bands, a column whose tape does not gross to the published amounts is left as it is and grows on its engine index from 2022-23, and a tape whose TAXPAYER codes are not 1 or 2 is refused. On the tape, the £1m-and-over band's other income outweighs its interest, as in the published table, so the rebase also undoes the split the two indices had flipped. diff --git a/changelog.d/1428-frs-other-income-definitions.changed.md b/changelog.d/1428-frs-other-income-definitions.changed.md index e54cc5a90b..140b38854f 100644 --- a/changelog.d/1428-frs-other-income-definitions.changed.md +++ b/changelog.d/1428-frs-other-income-definitions.changed.md @@ -1 +1 @@ -FRS rows now book savings income on SPI's definitions (#1428). NS&I Direct Saver and the other NS&I and bank products go to `savings_interest_income`, because SPI has counted all interest paid gross or net as bank interest since 2016-17 (Table 3.7 note 4); gilts stay in `other_investment_income`. Income from an annuity not bought with pension funds or from a trust or covenant (FRS PENTYPE 4 and 5) moves from `private_pension_income` to `other_investment_income`, the "other income" Table 3.7 counts (note 6). The FRS records the whole annuity payment, of which only the income element is taxable. +FRS rows now book NS&I income on SPI's definitions (#1428). NS&I Direct Saver and the other NS&I and bank products go to `savings_interest_income`, because SPI has counted all interest paid gross or net as bank interest since 2016-17 (Table 3.7 note 4); gilts stay in `other_investment_income`. Income from an annuity not bought with pension funds or from a trust or covenant (FRS PENTYPE 4 and 5) stays in `private_pension_income`, where policyengine-uk's means tests (Pension Credit, Universal Credit, Housing Benefit, Council Tax Reduction, Income Support), household income and tax read it. Its part is stored in a new calibration-only descriptor, `annuity_and_trust_income`, and SPI Table 3.7's other-income rows read `other_investment_income_spi_concept`: the engine's other income plus that share of the engine's private pension, as the table counts both payments as other income (note 6). A row the SPI stage draws holds the tape's pension, which excludes them, so its descriptor is zero. The FRS spine now refuses a pension tab without PENTYPE. diff --git a/changelog.d/1428-spi-rebase-taxpayers.fixed.md b/changelog.d/1428-spi-rebase-taxpayers.fixed.md deleted file mode 100644 index 10eef9c0e7..0000000000 --- a/changelog.d/1428-spi-rebase-taxpayers.fixed.md +++ /dev/null @@ -1 +0,0 @@ -The SPI donor savings rebase now computes each band's factor over the tape's taxpayers (TAXPAYER 1), since SPI Table 3.7 counts taxpayers only, and gives non-taxpayers the all-bands factor. Over all records, non-taxpayers' savings income in the two lowest bands left the rebased taxpayers short of the published amounts there (#1428). diff --git a/changelog.d/1428-uc-take-up-joins-unmet-pools.changed.md b/changelog.d/1428-uc-take-up-joins-unmet-pools.changed.md deleted file mode 100644 index f22378e19e..0000000000 --- a/changelog.d/1428-uc-take-up-joins-unmet-pools.changed.md +++ /dev/null @@ -1 +0,0 @@ -The Universal Credit take-up stage now joins a pool that cannot meet DWP's count to a neighbouring pool, so each family type's caseload lands on DWP's wherever its entitled units allow (#1428; María's ruling of 2026-10-31). The stage pools adjacent award bands within a family type until they rest on enough sources. A pool can't meet DWP's count when its reporters' and other undrawn units' expected claims already exceed it, or when it exceeds every entitled unit. Such a pool used to keep its clipped rate, which left the family type's caseload off DWP's by the gap. Which bands fell short also moved with small upstream changes: in this pull request single people's caseload ended 0.0568, then 0.0674, of DWP's count further from it than before the redraw. Now, lowest first, such a pool joins the adjacent pool with more room for its gap, the lower on a tie, until every pool can meet its count or the family type is one pool. The room is the claims the neighbour's drawn units can add beyond its own count when the pool falls short, or the drawn claims it can give up when the pool overshoots. The `uk_stage_uc_take_up` gate returns to main's 0.055, so the branch's widening to 0.06 is undone. The stage spec, the coverage manifest, the H2 fixture and the data contract's gate digests follow. diff --git a/changelog.d/1428-uc-take-up-passes-unmet-gaps.changed.md b/changelog.d/1428-uc-take-up-passes-unmet-gaps.changed.md new file mode 100644 index 0000000000..f057971ad9 --- /dev/null +++ b/changelog.d/1428-uc-take-up-passes-unmet-gaps.changed.md @@ -0,0 +1 @@ +The Universal Credit take-up stage now passes the gap of a pool that cannot meet DWP's count to its neighbouring pools, so each family type's caseload lands on DWP's wherever its entitled units allow (#1428; María's rulings of 2026-10-31 and 2026-11-01). The stage pools adjacent award bands within a family type until they rest on enough sources. A pool can't meet DWP's count when its reporters' and other undrawn units' expected claims already exceed it, or when the count exceeds every entitled unit. Such a pool used to keep its clipped rate, which left the family type's caseload off DWP's by the gap, and which bands fell short moved with small upstream changes. Now such a pool is held at its clip and its gap passes on. A shortfall and an excess elsewhere in the family type offset first. What remains goes to the other pools, nearest first, the one with more room first at equal distance and the lower band on a tie, each taking what its room allows. Every band keeps its own rate, so no band's drawn units claim against its own count to meet another's. The stage spec, the coverage manifest, the H2 fixture and the data contract's gate digests follow. diff --git a/packages/microcosm-build/src/microcosm/build/uk/gates.json b/packages/microcosm-build/src/microcosm/build/uk/gates.json index 2e0c927100..7e19c6ecb9 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/gates.json +++ b/packages/microcosm-build/src/microcosm/build/uk/gates.json @@ -1252,6 +1252,7 @@ "person.self_employment_income_annual_share", "person.self_employment_income_other_spells", "person.self_employment_gross_receipts", + "person.annuity_and_trust_income", "person.esa_health_condition_proxy", "person.esa_includes_support_component", "person.esa_support_group_proxy", diff --git a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json index db9bc0e583..8d2b10d023 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json @@ -277,6 +277,7 @@ "loss_relief", "ni_class_4_losses_brought_forward", "private_pension_income", + "annuity_and_trust_income", "individual_savings_account_interest_income", "savings_interest_income", "dividend_income", @@ -379,6 +380,7 @@ "loss_relief", "ni_class_4_losses_brought_forward", "private_pension_income", + "annuity_and_trust_income", "individual_savings_account_interest_income", "savings_interest_income", "dividend_income", @@ -2622,9 +2624,10 @@ "self_employment_income_annual_share", "self_employment_income_other_spells", "private_pension_income_annual_share", - "contributory_benefits_annual_share" + "contributory_benefits_annual_share", + "annuity_and_trust_income" ], - "notes": "Runs the SPI-trained income QRFs on the raw-spine support channel, drawing for its claimants and partners aged 16 and over so dependants aged 16 to 19 keep their FRS twin's values (uk-data#504, microcosm#1095), initializes FRS charity columns to zero, trains FRS-only stage 2 on the FRS rows' reported values, flags the rows it drew (person_is_spi_income_recipient) so later stages tell tape-concept rows from FRS-concept ones without re-deriving the recipient rule (microcosm#840), leaves every FRS-channel income as reported (no base-channel redraw of dividends; uk-data#498, microcosm#1095), and emits a sidecar-only 208-fact replay report for the spine path. Stage 2 also draws trading_loss, the year's trading loss the tape does not carry, from the FRS rows (uk-data#528), and a drawn row whose self_employment_income is positive keeps no loss, so profit and loss never both hold an amount, as on the FRS rows (microcosm#1095). The chain draws self_employment_income net of the tape's losses brought forward (LOSSBF), as the tape holds profits, and last of all, so no earlier draw moves, the year's profit before them and the losses. After the FRS-only fill and the HMRC aggregates the stage moves the losses out of the profit into loss_relief and ni_class_4_losses_brought_forward, the inputs policyengine-uk relieves them against (income tax under ITA 2007 s.83, Class 4 under SSCBA 1992 Sch 2 para 3), so Universal Credit, HBAI and market income read the year's profit; where the drawn net profit is positive the losses are its gap to the year's profit and where it is zero they are at least that profit, so the profit after the relief is the drawn net profit on every row, which the HMRC aggregates and the HMRC self-employment rows read (uk-data#528, microcosm#1095). The engine carries both losses into each projected year at their nominal value while the profit grows with its index. Stage 2 draws the six owner-manager inputs last, the five flags as 0 or 1 and then the income share, so each follows the drawn incomes; the root stage's rules then hold on the drawn rows (an owner works in the company, its other inputs need an owner, and a company carries on a trade or a property business, never both), since the tape carries no director answers (microcosm#1095). A drawn row's annual income descriptors follow its drawn incomes. The tape records the tax year's income, so its pay, profit and private pension shares are 1, and its contributory benefits, stage-2 draws on the current concept with no spell of their own, take share 1 too. It keeps its twin's other-spell pay only where it drew no pay, and its twin's ceased self-employment only where it drew no profit, since the bridge draws a record without pay for a twin who left a job in the year. An undrawn copy keeps its twin's descriptors with its twin's incomes." + "notes": "Runs the SPI-trained income QRFs on the raw-spine support channel, drawing for its claimants and partners aged 16 and over so dependants aged 16 to 19 keep their FRS twin's values (uk-data#504, microcosm#1095), initializes FRS charity columns to zero, trains FRS-only stage 2 on the FRS rows' reported values, flags the rows it drew (person_is_spi_income_recipient) so later stages tell tape-concept rows from FRS-concept ones without re-deriving the recipient rule (microcosm#840), leaves every FRS-channel income as reported (no base-channel redraw of dividends; uk-data#498, microcosm#1095), and emits a sidecar-only 208-fact replay report for the spine path. Stage 2 also draws trading_loss, the year's trading loss the tape does not carry, from the FRS rows (uk-data#528), and a drawn row whose self_employment_income is positive keeps no loss, so profit and loss never both hold an amount, as on the FRS rows (microcosm#1095). The chain draws self_employment_income net of the tape's losses brought forward (LOSSBF), as the tape holds profits, and last of all, so no earlier draw moves, the year's profit before them and the losses. After the FRS-only fill and the HMRC aggregates the stage moves the losses out of the profit into loss_relief and ni_class_4_losses_brought_forward, the inputs policyengine-uk relieves them against (income tax under ITA 2007 s.83, Class 4 under SSCBA 1992 Sch 2 para 3), so Universal Credit, HBAI and market income read the year's profit; where the drawn net profit is positive the losses are its gap to the year's profit and where it is zero they are at least that profit, so the profit after the relief is the drawn net profit on every row, which the HMRC aggregates and the HMRC self-employment rows read (uk-data#528, microcosm#1095). The engine carries both losses into each projected year at their nominal value while the profit grows with its index. Stage 2 draws the six owner-manager inputs last, the five flags as 0 or 1 and then the income share, so each follows the drawn incomes; the root stage's rules then hold on the drawn rows (an owner works in the company, its other inputs need an owner, and a company carries on a trade or a property business, never both), since the tape carries no director answers (microcosm#1095). A drawn row's annual income descriptors follow its drawn incomes. The tape records the tax year's income, so its pay, profit and private pension shares are 1, and its contributory benefits, stage-2 draws on the current concept with no spell of their own, take share 1 too. It keeps its twin's other-spell pay only where it drew no pay, and its twin's ceased self-employment only where it drew no profit, since the bridge draws a record without pay for a twin who left a job in the year. An undrawn copy keeps its twin's descriptors with its twin's incomes. A drawn row's annuity and trust descriptor is zero, since the tape's private pension excludes those payments and books them as other income (microcosm#1428)." }, { "stage": "spi_housing_shell", @@ -6189,13 +6192,13 @@ "family_type": "two FRS claimant or partner roles make a couple; children are UC children or qualifying young people and other non-claimants under 20 (the calibration measure's uc_calibration_family_type)", "award_bands": "GBP 1,200 a year (DWP's GBP 100 a month), (1,200 i, 1,200 (i + 1)] in whole pence for i < 25, and above GBP 30,000", "targets": "DWP Stat-Xplore Households on Universal Credit by family type and monthly award band, mean of April to December 2025", - "pooling": "adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) joins the adjacent pool with more room for its gap, the lower on a tie, until every pool can meet its count or the family type is one pool", + "pooling": "adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) is held at the nearer of those ends and passes its gap to the other pools, nearest first, the one with more room first at equal distance and the lower on a tie, each taking what its room allows; a gap no pool can take leaves the family type unreachable", "minimum_pool_sources": 30, "drawn_units": "entitled, non-reporting units of the population that the engine does not move off their legacy benefits (legacy_benefits_closed) and that report none, since a legacy benefit the engine leaves in place ends once the unit claims UC", "undrawn_claims": "a reporter at 1, a moved unit at the claim probability uc_legacy_closure_take_up's rule gives it (dwp_move_to_uc_facts.json), a unit keeping income-related ESA at 0, any other at its stored flag", "kept_legacy_award": "a unit whose claimant or partner reports income-related ESA (esa_income_reported), and that neither reports Universal Credit nor is moved off its legacy benefits, claims no Universal Credit, since policyengine-uk ends that award once the family claims it", "weight_mapping": "household_to_benunit", - "residual_rate": "(T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the pool's bands, D the weight of the pool's drawn units and F the expected claims of its other entitled units, over Great Britain at the stage's household weights; realized by the drawn units claiming in the order of their uniform until their weight is nearest T - F, and applied at that uniform to Northern Ireland's drawn units too", + "residual_rate": "(T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the pool's bands after any gaps passed to or from it, D the weight of the pool's drawn units and F the expected claims of its other entitled units, over Great Britain at the stage's household weights; realized by the drawn units claiming in the order of their uniform until their weight is nearest T - F, and applied at that uniform to Northern Ireland's drawn units too", "solve_scope": "great_britain", "not_drawn": "keeps its stored flag, except a unit keeping income-related ESA, which claims none" } diff --git a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml index 390d1308bc..cf9e40e143 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml +++ b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml @@ -408,6 +408,7 @@ stages: - loss_relief - ni_class_4_losses_brought_forward - private_pension_income + - annuity_and_trust_income - individual_savings_account_interest_income - savings_interest_income - dividend_income @@ -509,6 +510,7 @@ stages: - loss_relief - ni_class_4_losses_brought_forward - private_pension_income + - annuity_and_trust_income - individual_savings_account_interest_income - savings_interest_income - dividend_income @@ -2248,7 +2250,8 @@ stages: - self_employment_income_other_spells - private_pension_income_annual_share - contributory_benefits_annual_share - notes: Runs the SPI-trained income QRFs on the raw-spine support channel, drawing for its claimants and partners aged 16 and over so dependants aged 16 to 19 keep their FRS twin's values (uk-data#504, microcosm#1095), initializes FRS charity columns to zero, trains FRS-only stage 2 on the FRS rows' reported values, flags the rows it drew (person_is_spi_income_recipient) so later stages tell tape-concept rows from FRS-concept ones without re-deriving the recipient rule (microcosm#840), leaves every FRS-channel income as reported (no base-channel redraw of dividends; uk-data#498, microcosm#1095), and emits a sidecar-only 208-fact replay report for the spine path. Stage 2 also draws trading_loss, the year's trading loss the tape does not carry, from the FRS rows (uk-data#528), and a drawn row whose self_employment_income is positive keeps no loss, so profit and loss never both hold an amount, as on the FRS rows (microcosm#1095). The chain draws self_employment_income net of the tape's losses brought forward (LOSSBF), as the tape holds profits, and last of all, so no earlier draw moves, the year's profit before them and the losses. After the FRS-only fill and the HMRC aggregates the stage moves the losses out of the profit into loss_relief and ni_class_4_losses_brought_forward, the inputs policyengine-uk relieves them against (income tax under ITA 2007 s.83, Class 4 under SSCBA 1992 Sch 2 para 3), so Universal Credit, HBAI and market income read the year's profit; where the drawn net profit is positive the losses are its gap to the year's profit and where it is zero they are at least that profit, so the profit after the relief is the drawn net profit on every row, which the HMRC aggregates and the HMRC self-employment rows read (uk-data#528, microcosm#1095). The engine carries both losses into each projected year at their nominal value while the profit grows with its index. Stage 2 draws the six owner-manager inputs last, the five flags as 0 or 1 and then the income share, so each follows the drawn incomes; the root stage's rules then hold on the drawn rows (an owner works in the company, its other inputs need an owner, and a company carries on a trade or a property business, never both), since the tape carries no director answers (microcosm#1095). A drawn row's annual income descriptors follow its drawn incomes. The tape records the tax year's income, so its pay, profit and private pension shares are 1, and its contributory benefits, stage-2 draws on the current concept with no spell of their own, take share 1 too. It keeps its twin's other-spell pay only where it drew no pay, and its twin's ceased self-employment only where it drew no profit, since the bridge draws a record without pay for a twin who left a job in the year. An undrawn copy keeps its twin's descriptors with its twin's incomes. + - annuity_and_trust_income + notes: Runs the SPI-trained income QRFs on the raw-spine support channel, drawing for its claimants and partners aged 16 and over so dependants aged 16 to 19 keep their FRS twin's values (uk-data#504, microcosm#1095), initializes FRS charity columns to zero, trains FRS-only stage 2 on the FRS rows' reported values, flags the rows it drew (person_is_spi_income_recipient) so later stages tell tape-concept rows from FRS-concept ones without re-deriving the recipient rule (microcosm#840), leaves every FRS-channel income as reported (no base-channel redraw of dividends; uk-data#498, microcosm#1095), and emits a sidecar-only 208-fact replay report for the spine path. Stage 2 also draws trading_loss, the year's trading loss the tape does not carry, from the FRS rows (uk-data#528), and a drawn row whose self_employment_income is positive keeps no loss, so profit and loss never both hold an amount, as on the FRS rows (microcosm#1095). The chain draws self_employment_income net of the tape's losses brought forward (LOSSBF), as the tape holds profits, and last of all, so no earlier draw moves, the year's profit before them and the losses. After the FRS-only fill and the HMRC aggregates the stage moves the losses out of the profit into loss_relief and ni_class_4_losses_brought_forward, the inputs policyengine-uk relieves them against (income tax under ITA 2007 s.83, Class 4 under SSCBA 1992 Sch 2 para 3), so Universal Credit, HBAI and market income read the year's profit; where the drawn net profit is positive the losses are its gap to the year's profit and where it is zero they are at least that profit, so the profit after the relief is the drawn net profit on every row, which the HMRC aggregates and the HMRC self-employment rows read (uk-data#528, microcosm#1095). The engine carries both losses into each projected year at their nominal value while the profit grows with its index. Stage 2 draws the six owner-manager inputs last, the five flags as 0 or 1 and then the income share, so each follows the drawn incomes; the root stage's rules then hold on the drawn rows (an owner works in the company, its other inputs need an owner, and a company carries on a trade or a property business, never both), since the tape carries no director answers (microcosm#1095). A drawn row's annual income descriptors follow its drawn incomes. The tape records the tax year's income, so its pay, profit and private pension shares are 1, and its contributory benefits, stage-2 draws on the current concept with no spell of their own, take share 1 too. It keeps its twin's other-spell pay only where it drew no pay, and its twin's ceased self-employment only where it drew no profit, since the bridge draws a record without pay for a twin who left a job in the year. An undrawn copy keeps its twin's descriptors with its twin's incomes. A drawn row's annuity and trust descriptor is zero, since the tape's private pension excludes those payments and books them as other income (microcosm#1428). - stage: spi_housing_shell survey: Family Resources Survey 2024-25 source: Family Resources Survey 2024-25 base households' housing (tenure, dwelling type, bedrooms, council tax, housing costs and the housing-linked benefit reports), imputed onto the SPI support households from their own region, composition and post-SPI incomes. @@ -4994,13 +4997,13 @@ stages: family_type: two FRS claimant or partner roles make a couple; children are UC children or qualifying young people and other non-claimants under 20 (the calibration measure's uc_calibration_family_type) award_bands: GBP 1,200 a year (DWP's GBP 100 a month), (1,200 i, 1,200 (i + 1)] in whole pence for i < 25, and above GBP 30,000 targets: DWP Stat-Xplore Households on Universal Credit by family type and monthly award band, mean of April to December 2025 - pooling: adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) joins the adjacent pool with more room for its gap, the lower on a tie, until every pool can meet its count or the family type is one pool + pooling: adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) is held at the nearer of those ends and passes its gap to the other pools, nearest first, the one with more room first at equal distance and the lower on a tie, each taking what its room allows; a gap no pool can take leaves the family type unreachable minimum_pool_sources: 30 drawn_units: entitled, non-reporting units of the population that the engine does not move off their legacy benefits (legacy_benefits_closed) and that report none, since a legacy benefit the engine leaves in place ends once the unit claims UC undrawn_claims: a reporter at 1, a moved unit at the claim probability uc_legacy_closure_take_up's rule gives it (dwp_move_to_uc_facts.json), a unit keeping income-related ESA at 0, any other at its stored flag kept_legacy_award: a unit whose claimant or partner reports income-related ESA (esa_income_reported), and that neither reports Universal Credit nor is moved off its legacy benefits, claims no Universal Credit, since policyengine-uk ends that award once the family claims it weight_mapping: household_to_benunit - residual_rate: (T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the pool's bands, D the weight of the pool's drawn units and F the expected claims of its other entitled units, over Great Britain at the stage's household weights; realized by the drawn units claiming in the order of their uniform until their weight is nearest T - F, and applied at that uniform to Northern Ireland's drawn units too + residual_rate: (T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the pool's bands after any gaps passed to or from it, D the weight of the pool's drawn units and F the expected claims of its other entitled units, over Great Britain at the stage's household weights; realized by the drawn units claiming in the order of their uniform until their weight is nearest T - F, and applied at that uniform to Northern Ireland's drawn units too solve_scope: great_britain not_drawn: keeps its stored flag, except a unit keeping income-related ESA, which claims none outputs: [] diff --git a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json index 3d2b27ef55..c12d33f2f2 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json +++ b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json @@ -22063,12 +22063,12 @@ "bindings": { "policyengine": { "metric_name": "hmrc/other_investment_income_income_band", - "value_variable": "other_investment_income", + "value_variable": "other_investment_income_spi_concept", "from_entity": "person", "map_to": "household", "groupby_variable": "total_income_after_loss_relief_annual", "band_filter_dimension": "total_income", - "notes": "Other investment income of taxpayers by total-income band: SPI Table 3.7's 'Other income' [Note 6], the part of total investment income outside property, bank and building society interest and dividends (SPI's OTHERINV, which the SPI donors carry into other_investment_income). From microcosm#1418 the frame also holds the FRS NS&I and gilt accounts there, and the engine taxes the column as savings income beside savings_interest_income. Banded by person-level total income; band edges come from the fact dimension. No row held the column before, so the ITL Table 2.6 savings tax rows were met mostly through it: on PR A's national (microcosm#1419) it carried about GBP 9.5bn in 2024, where Table 3.7 publishes GBP 5.85bn for 2023-24 (María's ruling of 2026-10-29, microcosm#1418).", + "notes": "Other investment income of taxpayers by total-income band: SPI Table 3.7's 'Other income' [Note 6], the part of total investment income outside property, bank and building society interest and dividends (SPI's OTHERINV, which the SPI donors carry into other_investment_income). On FRS rows the column holds gilt interest, which the engine taxes as savings income beside savings_interest_income, and the measure (other_investment_income_spi_concept) adds the purchased-annuity and trust payments that FRS rows keep in private_pension_income, where the engine's means tests, household income and tax read them; the frame stores their part as annuity_and_trust_income (microcosm#1428). Banded by person-level total income; band edges come from the fact dimension. No row held the column before, so the ITL Table 2.6 savings tax rows were met mostly through it: on PR A's national (microcosm#1419) it carried about GBP 9.5bn in 2024, where Table 3.7 publishes GBP 5.85bn for 2023-24 (María's ruling of 2026-10-29, microcosm#1418).", "filters": [ { "variable": "income_tax_before_winter_fuel_payment_charge_annual", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/frs_spine.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/frs_spine.py index 665651f493..8fe79cb322 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/frs_spine.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/frs_spine.py @@ -220,6 +220,23 @@ "owned_company_carries_on_property_business", "owned_company_income_share", ) + +#: FRS PENSION.PENTYPE codes of an annuity not bought with pension funds (4) +#: and a trust or covenant (5), the ADULT ANYPEN4 and ANYPEN5 sources. Their +#: payments stay in private_pension_income, where policyengine-uk's means +#: tests, household income and tax read them: trust and covenant payments +#: are generally non-savings income (ITA 2007 s. 18), and the FRS records the +#: whole annuity payment, of which only the income element is savings income +#: (ITTOIA 2005 s. 717). SPI Table 3.7 counts both as other income (note 6), +#: so the part they make of private_pension_income is stored apart, in +#: ANNUITY_AND_TRUST_INCOME_COLUMN, a calibration-only descriptor that the +#: Table 3.7 other-income measure adds (microcosm#1428 review, finding 1). +FRS_ANNUITY_AND_TRUST_PENSION_TYPES = (4, 5) +#: The descriptor: each person's annual annuity and trust payments, already +#: inside private_pension_income. No engine input reads it. +ANNUITY_AND_TRUST_INCOME_COLUMN = "annuity_and_trust_income" + + OUTPUT_COLUMNS = ( "person_id", "person_benunit_id", @@ -248,6 +265,7 @@ "loss_relief", "ni_class_4_losses_brought_forward", "private_pension_income", + ANNUITY_AND_TRUST_INCOME_COLUMN, "individual_savings_account_interest_income", "savings_interest_income", "dividend_income", @@ -612,13 +630,10 @@ def _assemble_frame( # tape's into both inputs (microcosm#1095). pe_person["loss_relief"] = 0.0 pe_person["ni_class_4_losses_brought_forward"] = 0.0 - pension_savings_income = _add_private_pension(pe_person, person, frs["pension"]) - _add_accounts(pe_person, person, frs["accounts"]) - # Income from a purchased annuity or a trust (PENTYPE 4 and 5) is savings - # income SPI Table 3.7 counts as other income, not pension (microcosm#1428). - pe_person["other_investment_income"] = ( - pe_person["other_investment_income"] + pension_savings_income + pe_person[ANNUITY_AND_TRUST_INCOME_COLUMN] = _add_private_pension( + pe_person, person, frs["pension"] ) + _add_accounts(pe_person, person, frs["accounts"]) owner_managers = frs_owner_manager_inputs(person, frs["job"]) for column in OWNER_MANAGER_COLUMNS: pe_person[column] = owner_managers[column].to_numpy() @@ -716,23 +731,15 @@ def _assemble_frame( ) -#: FRS PENSION.PENTYPE codes whose income is savings income, not pension: -#: an annuity not bought with pension funds (4) and a trust or covenant (5), -#: the ADULT ANYPEN4 and ANYPEN5 sources. SPI Table 3.7 counts trust income -#: and the purchased-annuity income SA101 returns as other income (note 6), -#: so both go to other_investment_income (microcosm#1428). The FRS records -#: the whole annuity payment, of which only the income element is taxable. -FRS_SAVINGS_INCOME_PENSION_TYPES = (4, 5) - - def _add_private_pension( pe_person: pd.DataFrame, person: pd.DataFrame, pension: pd.DataFrame ) -> pd.Series: - """Write private pension income; return the PENSION rows' savings income. + """Write private pension income; return its annuity and trust part. Each row's gross weekly amount is the payment, any tax paid at source and - any deductions taken out. Rows of FRS_SAVINGS_INCOME_PENSION_TYPES are the - returned savings income, annual, by person; every other row is pension. + any deductions taken out. Every row is private pension income; the rows + of FRS_ANNUITY_AND_TRUST_PENSION_TYPES are also returned, annual, by + person, as the descriptor of that part. """ penpay = _number(pension, "penpay") @@ -747,14 +754,21 @@ def _add_private_pension( & (poamt > 0) ) ) - savings = _number(pension, "pentype").isin(FRS_SAVINGS_INCOME_PENSION_TYPES) + if len(pension) and "pentype" not in pension.columns: + raise ValueError( + "FRS PENSION tab needs PENTYPE to tell annuity and trust payments " + "from pensions." + ) + annuity_or_trust = _number(pension, "pentype").isin( + FRS_ANNUITY_AND_TRUST_PENSION_TYPES + ) person_ids = pension.get("person_id", pd.Series(dtype="float64")) pe_person["private_pension_income"] = ( - _sum_to_entity(gross * ~savings, person_ids, person["person_id"]) - * WEEKS_IN_YEAR + _sum_to_entity(gross, person_ids, person["person_id"]) * WEEKS_IN_YEAR ) return ( - _sum_to_entity(gross * savings, person_ids, person["person_id"]) * WEEKS_IN_YEAR + _sum_to_entity(gross * annuity_or_trust, person_ids, person["person_id"]) + * WEEKS_IN_YEAR ) diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py index f4e813ffb2..05a759863f 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/graph.py @@ -1313,6 +1313,10 @@ def _cells( "self_employment_income_other_spells", "private_pension_income_annual_share", "contributory_benefits_annual_share", + # A drawn row's private pension is the tape's, which books annuity and + # trust payments as other income, so its annuity and trust descriptor is + # zero (microcosm#1428). + "annuity_and_trust_income", ) _HMRC_SPI_HIDDEN_STRING = ( "aa_category", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/measure_simulation.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/measure_simulation.py index 9496cfee74..bfa2ccd28d 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/measure_simulation.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/measure_simulation.py @@ -40,6 +40,7 @@ SELF_EMPLOYMENT_INCOME_ANNUAL_SHARE, SELF_EMPLOYMENT_INCOME_OTHER_SPELLS, ) +from microcosm.build.uk_runtime.frs_spine import ANNUITY_AND_TRUST_INCOME_COLUMN from microcosm.build.uk_runtime.high_value_homes import ( high_value_home_mask, uk_high_value_home_thresholds, @@ -282,6 +283,33 @@ def savings_interest_outside_isas(frame: Any) -> np.ndarray: return np.maximum(interest, 0.0) +#: SPI Table 3.7's other income (note 6): the engine's other_investment_income +#: plus the purchased-annuity and trust payments that FRS rows keep in +#: private_pension_income, where the engine's means tests, household income +#: and tax read them (microcosm#1428). The frame stores each person's annuity +#: and trust payments at the dataset's year +#: (frs_spine.ANNUITY_AND_TRUST_INCOME_COLUMN), and their share of the stored +#: private pension carries them to the measurement year on the engine's own +#: private pension path. A frame without the column (the enhanced FRS +#: reference) reads the engine's other income alone. A reserved name. +UK_SPI_OTHER_INVESTMENT_INCOME = "other_investment_income_spi_concept" + + +def annuity_and_trust_share(frame: Any) -> np.ndarray: + """Each person's annuity and trust share of their stored private pension.""" + + person = frame.table("person") + if ( + ANNUITY_AND_TRUST_INCOME_COLUMN not in person + or "private_pension_income" not in person + ): + return np.zeros(len(person)) + part = person[ANNUITY_AND_TRUST_INCOME_COLUMN].to_numpy(dtype=float) + pension = person["private_pension_income"].to_numpy(dtype=float) + share = np.divide(part, pension, out=np.zeros(len(person)), where=pension > 0) + return np.clip(share, 0.0, 1.0) + + #: The named terms the resolver computes: measures declared once as #: expressions of the binding interpreter's grammar, evaluated from their #: leaves wherever a binding names them (a value, a band or a filter, on the @@ -543,6 +571,21 @@ def compute_uk_measure_input( else "frame_columns:savings_interest_income", ) + if variable == UK_SPI_OTHER_INVESTMENT_INCOME: + if entity != "person": + raise KeyError(f"{variable} is person-only: {entity}") + other, route = compute_uk_measure_input( + frame, simulation, "person", "other_investment_income", year + ) + pension, _ = compute_uk_measure_input( + frame, simulation, "person", "private_pension_income", year + ) + return ( + other + annuity_and_trust_share(frame) * pension, + "engine_components:other_investment_income" + f"+annuity_and_trust_share*private_pension_income:{route}", + ) + if variable in DFE_SPRING_TERM_MEASURES: if entity != "person": raise KeyError(f"DfE spring-term measures are person-only: {entity}") @@ -1040,11 +1083,12 @@ def __init__( "High-value home measures must not be persisted as source inputs: " f"{persisted_high_value}" ) - if UK_SAVINGS_INTEREST_OUTSIDE_ISAS in set(map(str, frame.table("person"))): - raise ValueError( - f"{UK_SAVINGS_INTEREST_OUTSIDE_ISAS} must not be persisted as a " - "source input." - ) + for reserved in ( + UK_SAVINGS_INTEREST_OUTSIDE_ISAS, + UK_SPI_OTHER_INVESTMENT_INCOME, + ): + if reserved in set(map(str, frame.table("person"))): + raise ValueError(f"{reserved} must not be persisted as a source input.") persisted_spring_term = sorted( set(DFE_SPRING_TERM_MEASURES) & set(map(str, frame.table("person"))) ) @@ -1168,6 +1212,12 @@ def knows(self, entity: str, variable: str) -> bool: return entity == "person" and "savings_interest_income" in set( map(str, self.frame.table("person")) ) + if variable == UK_SPI_OTHER_INVESTMENT_INCOME: + return ( + entity == "person" + and self.knows("person", "other_investment_income") + and self.knows("person", "private_pension_income") + ) if variable in DFE_SPRING_TERM_MEASURES: return entity == "person" and all( self.knows("person", name) for name in DFE_SPRING_TERM_ENGINE_INPUTS @@ -1212,7 +1262,10 @@ def entity_for(self, variable: str) -> str | None: return "household" if variable == UK_CHILD_BENEFIT_CHILD_COUNT: return "benunit" - if variable == UK_SAVINGS_INTEREST_OUTSIDE_ISAS: + if variable in ( + UK_SAVINGS_INTEREST_OUTSIDE_ISAS, + UK_SPI_OTHER_INVESTMENT_INCOME, + ): return "person" if _cgt_model_measure(variable, self.year) is not None: return "person" diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py index 1067bd1aea..dbf22e5198 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py @@ -4,7 +4,7 @@ import hashlib import math -from collections.abc import Mapping, Sequence +from collections.abc import Collection, Mapping, Sequence from dataclasses import dataclass from functools import cache from importlib import import_module @@ -37,6 +37,7 @@ FRS_HMRC_UBISJA_COLUMN, ) from microcosm.build.uk_runtime.frs_spine import ( + ANNUITY_AND_TRUST_INCOME_COLUMN, FRS_LANDLORD_CARRIER_COLUMN, ISA_INTEREST_COLUMN, uc_gainful_self_employment, @@ -230,6 +231,8 @@ SPI_SAVINGS_REBASE_RESOURCE = "hmrc_spi_table_3_7_savings_rows.json" #: The prepared tape's taxpayer flag, the records the rebase factors read. SPI_DONOR_TAXPAYER_COLUMN = "is_taxpayer" +#: The tape's TAXPAYER codes: 1, a taxpayer, and 2, not. +SPI_TAXPAYER_CODES = (1, 2) #: The band factors assume the tape's FACT weights gross to the taxpayer #: population. A column whose banded tape amount is under this share of the #: published amount does not (a synthetic tape, whose factors would run to @@ -886,9 +889,18 @@ def impute_uk_spi_income_support( # any draw, so the forest and the band donors read the same rebased tape # (microcosm#1418 savings follow-up). savings_rebase = None + rebased_columns: frozenset[str] = frozenset() if rebase_income_to_build_period and int(build_period) >= SPI_SAVINGS_REBASE_YEAR: + rebase_year_factors, _ = _spi_income_uprating_factors(SPI_SAVINGS_REBASE_YEAR) donor, savings_rebase = rebase_spi_donor_savings( - donor, spi_savings_rebase_published() + donor, + spi_savings_rebase_published(), + income_factors=rebase_year_factors, + ) + rebased_columns = frozenset( + column + for column, entry in savings_rebase["columns"].items() + if "skipped" not in entry ) donor_age_draw = { **donor.attrs.get("age_draw", {}), @@ -1149,7 +1161,7 @@ def fit_reference(encoded: pd.DataFrame, observed: pd.DataFrame): uprating_factors = dict.fromkeys(SPI_INCOME_QRF_OUTPUT_COLUMNS, 1.0) if rebase_income_to_build_period: uprating_factors, income_uprating = _spi_income_uprating_factors( - int(build_period) + int(build_period), rebased_columns=rebased_columns ) if savings_rebase is not None: income_uprating = {**income_uprating, "savings_rebase": savings_rebase} @@ -1366,6 +1378,7 @@ def fit_reference(encoded: pd.DataFrame, observed: pd.DataFrame): ) person = _refresh_landlord_carrier(person, spi_people=spi_people) person = _refresh_annual_income_descriptors(person, spi_people=spi_people) + person = _clear_annuity_and_trust_descriptor(person, spi_people=spi_people) # The flag is the stage's last new column, where the graph's typed cells # place it (the legacy oracle and the graph must agree on column order). person[SPI_INCOME_RECIPIENT_COLUMN] = ( @@ -1725,8 +1738,16 @@ def _resample_band_donor_leaves( @cache -def _spi_income_uprating_factors(year: int): - """Rebase SPI money flows before conditioning on build-year FRS incomes.""" +def _spi_income_uprating_factors( + year: int, *, rebased_columns: Collection[str] | None = None +): + """Rebase SPI money flows before conditioning on build-year FRS incomes. + + ``rebased_columns`` names the savings columns rebase_spi_donor_savings + moved to 2023-24, which grow on the OBR's savings path from there; a + savings column it left as it was (a tape that does not gross) grows on + its engine index from 2022-23. None takes every rebased concept. + """ from policyengine_uk import CountryTaxBenefitSystem from microcosm.build.uk_runtime.hmrc_uprating import ( @@ -1744,7 +1765,12 @@ def _spi_income_uprating_factors(year: int): factors = {} columns = {} for column, variable_name in SPI_INCOME_UPRATING_VARIABLES.items(): - if column in SPI_SAVINGS_REBASE_CONCEPTS and year >= SPI_SAVINGS_REBASE_YEAR: + rebased = ( + column in SPI_SAVINGS_REBASE_CONCEPTS + if rebased_columns is None + else column in rebased_columns + ) + if rebased and year >= SPI_SAVINGS_REBASE_YEAR: # rebase_spi_donor_savings has moved the column to SPI's 2023-24 # bands; the OBR's savings income growth carries it on. factor, used = uk_obr_savings_income_level(SPI_SAVINGS_REBASE_YEAR, year) @@ -1898,57 +1924,111 @@ def spi_savings_rebase_published( return published +#: The rebase bands the tape on its income moved to 2023-24, the year the +#: published bands describe: each income leaf at its 2022-23 to 2023-24 factor, +#: the rebased savings as they stand, and the rest of the published total held +#: nominal, as the band donors' realised income is built. Its consumers band +#: again on income uprated to the frame's year, so banding on 2022-23 income +#: counted the band-edge migration twice (microcosm#1428 review, finding 6). +#: Rebased savings move income, so the banding repeats until no record changes +#: band, at most this many times. +SPI_SAVINGS_REBASE_MAX_ITERATIONS = 20 + + +def _tape_income_in_rebase_year( + donor: pd.DataFrame, + rebased: pd.DataFrame, + income_factors: Mapping[str, float], +) -> np.ndarray: + """The tape's total income moved to SPI_SAVINGS_REBASE_YEAR.""" + + columns = [ + column + for column in SPI_INCOME_QRF_OUTPUT_COLUMNS + if column in donor + and column not in (SPI_PROPERTY_FINANCE_COSTS_COLUMN, *SPI_LOSS_DRAW_COLUMNS) + ] + leaves = donor[columns].to_numpy(dtype=np.float64) + rest = np.maximum( + donor["total_income"].to_numpy(dtype=np.float64) - leaves.sum(axis=1), 0.0 + ) + moved = rebased[columns].to_numpy(dtype=np.float64) @ np.asarray( + [float(income_factors.get(column, 1.0)) for column in columns] + ) + return moved + rest + + def rebase_spi_donor_savings( donor: pd.DataFrame, published: Mapping[str, Mapping[int, float]], + *, + income_factors: Mapping[str, float] | None = None, ) -> tuple[pd.DataFrame, dict[str, object]]: """Move the tape's interest and other income to SPI's 2023-24 bands. Each taxpayer donor's column is scaled by its band's factor: HMRC's - published 2023-24 amount over the tape's FACT-weighted 2022-23 amount for - the taxpayers in the same range of total income, the tape banded by its own - total income, since Table 3.7 counts taxpayers only. A donor below the first - band, or who pays no tax, takes the factor of all bands together. The rebased - tape reproduces the published amounts band by band; the OBR's savings - income growth then carries both columns to the frame's year - (``_spi_income_uprating_factors``). A band the tape carries none of has - nothing to scale and is left as it is, named in the receipt: the - production tape carries every band, a synthetic one need not. A column - whose tape does not gross to the population (under - SPI_SAVINGS_REBASE_MINIMUM_GROSSING of the published amount) is left as it - is, and the receipt says so. The receipt carries the factors only. + published 2023-24 amount over the tape's FACT-weighted amount for the + taxpayers in the same range of total income, since Table 3.7 counts + taxpayers only. The tape is banded on its income moved to 2023-24 + (``income_factors``, each income leaf's 2022-23 to 2023-24 factor; none + holds the leaves nominal), repeating until the rebased savings move no + record across a band edge. A taxpayer is a record the tape flags + (TAXPAYER 1) or one whose income crosses the first band's lower bound, + the Personal Allowance, by 2023-24, so a saver who becomes a taxpayer is + counted once. A flagged taxpayer below the first band sits in it, as the + table's lowest band holds those taxpayers (note 8); a tape without the + flag counts every record at or above the first band. Any other donor + takes the factor of all bands together. The rebased tape reproduces the + published amounts band by band; the OBR's savings income growth then + carries both columns to the frame's year (``_spi_income_uprating_factors``). + A band the tape carries none of has nothing to scale, and a band whose tape + amount is under SPI_SAVINGS_REBASE_MINIMUM_GROSSING of its published amount + takes the factor of all bands; both are named in the receipt. A column + whose tape does not gross to the population is left as it is, and the + receipt says so. The receipt carries the factors only. """ bounds = sorted(next(iter(published.values()))) - income = donor["total_income"].to_numpy(dtype=np.float64) + edges = np.asarray(bounds, dtype=np.float64) weights = donor["FACT"].to_numpy(dtype=np.float64) - band = ( - np.searchsorted(np.asarray(bounds, dtype=np.float64), income, side="right") - 1 - ) - taxpayer = ( + flagged = SPI_DONOR_TAXPAYER_COLUMN in donor + tape_taxpayer = ( donor[SPI_DONOR_TAXPAYER_COLUMN].to_numpy(dtype=bool) - if SPI_DONOR_TAXPAYER_COLUMN in donor - else np.ones(len(donor), dtype=bool) + if flagged + else np.zeros(len(donor), dtype=bool) + ) + band_2022 = ( + np.searchsorted( + edges, donor["total_income"].to_numpy(dtype=np.float64), side="right" + ) + - 1 ) - banded = (band >= 0) & taxpayer + factors_in = dict(income_factors or {}) rebased = donor.copy() receipt: dict[str, object] = { "resource": SPI_SAVINGS_REBASE_RESOURCE, "from_period": SPI_DONOR_INCOME_YEAR, "to_period": SPI_SAVINGS_REBASE_YEAR, - "band_by": "total_income", + "band_by": "total_income_moved_to_2023_24", "factors_over": ( - "taxpayers" if SPI_DONOR_TAXPAYER_COLUMN in donor else "all_records" + "taxpayers: TAXPAYER 1, or income crossing the first band by 2023-24" + if flagged + else "all_records_at_or_above_the_first_band" ), "band_lower_bounds": [int(bound) for bound in bounds], "columns": {}, } + original: dict[str, np.ndarray] = {} + targets: dict[str, np.ndarray] = {} for column, by_bound in published.items(): values = donor[column].to_numpy(dtype=np.float64) + target = np.asarray([float(by_bound[bound]) for bound in bounds]) + taxpayer = tape_taxpayer | (band_2022 >= 0) tape = np.bincount( - band[banded], weights=(weights * values)[banded], minlength=len(bounds) + np.clip(band_2022, 0, None)[taxpayer], + weights=(weights * values)[taxpayer], + minlength=len(bounds), ) - target = np.asarray([float(by_bound[bound]) for bound in bounds]) carried = tape > 0.0 # Over the bands the tape carries; an empty band is left as it is. if ( @@ -1960,27 +2040,61 @@ def rebase_spi_donor_savings( "skipped": "the tape's weights do not gross to the published amounts", } continue - factors = np.where(carried, target / np.where(carried, tape, 1.0), 1.0) - all_bands = ( - float(target[carried].sum() / tape[carried].sum()) if carried.any() else 1.0 - ) - rebased[column] = values * np.where( - banded, factors[np.clip(band, 0, None)], all_bands - ) - receipt["columns"][column] = { - "concept": SPI_SAVINGS_REBASE_CONCEPTS[column], - "band_factors": { - str(bound): float(factor) - for bound, factor, kept in zip(bounds, factors, carried, strict=True) - if kept - }, - "below_first_band_factor": all_bands, - "bands_without_tape_amounts": [ - int(bound) - for bound, kept in zip(bounds, carried, strict=True) - if not kept - ], - } + original[column] = values + targets[column] = target + + band = None + converged = not original + passes = 0 + while original and passes < SPI_SAVINGS_REBASE_MAX_ITERATIONS: + passes += 1 + income = _tape_income_in_rebase_year(donor, rebased, factors_in) + moved_band = np.searchsorted(edges, income, side="right") - 1 + crossed = ~tape_taxpayer & (band_2022 < 0) & (moved_band >= 0) + taxpayer = tape_taxpayer | crossed if flagged else (moved_band >= 0) + moved_band = np.where(taxpayer, np.clip(moved_band, 0, None), moved_band) + if band is not None and np.array_equal(moved_band, band): + converged = True + break + band = moved_band + for column, values in original.items(): + target = targets[column] + tape = np.bincount( + band[taxpayer], + weights=(weights * values)[taxpayer], + minlength=len(bounds), + ) + carried = tape > 0.0 + thin = carried & (tape < SPI_SAVINGS_REBASE_MINIMUM_GROSSING * target) + usable = carried & ~thin + all_bands = ( + float(target[usable].sum() / tape[usable].sum()) + if usable.any() + else 1.0 + ) + factors = np.where(usable, target / np.where(usable, tape, 1.0), all_bands) + rebased[column] = values * np.where( + taxpayer, factors[np.clip(band, 0, None)], all_bands + ) + receipt["columns"][column] = { + "concept": SPI_SAVINGS_REBASE_CONCEPTS[column], + "band_factors": { + str(bound): float(factor) + for bound, factor, kept in zip(bounds, factors, usable, strict=True) + if kept + }, + "below_first_band_factor": all_bands, + "bands_without_tape_amounts": [ + int(bound) + for bound, kept in zip(bounds, carried, strict=True) + if not kept + ], + "bands_too_thin_to_gross": [ + int(bound) for bound, kept in zip(bounds, thin, strict=True) if kept + ], + } + receipt["banding_passes"] = passes + receipt["banding_converged"] = bool(converged) return rebased, receipt @@ -2062,12 +2176,18 @@ def _prepare_spi_donor( # they are never QRF inputs or outputs. donor["total_income"] = numeric["TI"].to_numpy(dtype=float) # Table 3.7 counts taxpayers only, so the savings rebase reads the tape's - # TAXPAYER flag (1, a taxpayer); a tape without it counts every record. - donor[SPI_DONOR_TAXPAYER_COLUMN] = ( - pd.to_numeric(raw["TAXPAYER"], errors="coerce").eq(1).to_numpy() - if "TAXPAYER" in raw.columns - else np.ones(len(raw), dtype=bool) - ) + # TAXPAYER flag (SPI_TAXPAYER_CODES: 1, a taxpayer; 2, not). A tape without + # it carries no flag, and the rebase's receipt says it counted every record + # at or above the first band (microcosm#1428). + if "TAXPAYER" in raw.columns: + taxpayer = pd.to_numeric(raw["TAXPAYER"], errors="coerce") + unknown = sorted(set(taxpayer.dropna().unique()) - set(SPI_TAXPAYER_CODES)) + if taxpayer.isna().any() or unknown: + raise ValueError( + "SPI TAXPAYER must be 1 (a taxpayer) or 2 (not) on every record; " + f"found {unknown or 'blanks'}." + ) + donor[SPI_DONOR_TAXPAYER_COLUMN] = taxpayer.eq(1).to_numpy() donor["is_composite"] = numeric["AGERANGE"].astype(int).eq(-1).to_numpy() # The published age band travels with the record so band pools can match # a carrier's age band; composites (-1) have none and never age-match. @@ -3281,6 +3401,29 @@ def _refresh_annual_income_descriptors( return person +def _clear_annuity_and_trust_descriptor( + person: pd.DataFrame, *, spi_people: pd.Series +) -> pd.DataFrame: + """Zero a drawn row's annuity and trust descriptor. + + A drawn row's private pension is the tape's, which excludes purchased + annuity and trust income: SPI books those as other income, in the drawn + other_investment_income (microcosm#1428). An undrawn copy keeps its twin's + descriptor with its twin's pension. + """ + + if ANNUITY_AND_TRUST_INCOME_COLUMN not in person: + return person + _assign_spi_values( + person, + spi_people, + ANNUITY_AND_TRUST_INCOME_COLUMN, + np.zeros(int(spi_people.sum())), + default=0.0, + ) + return person + + def _refresh_uc_gainful_self_employment( person: pd.DataFrame, *, spi_people: pd.Series ) -> tuple[pd.DataFrame, dict[str, object] | None]: diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py index dd97836aa4..3a70866505 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py @@ -29,6 +29,7 @@ _raw_source_person_ids, _read_raw_frs_table, ) +from microcosm.build.uk_runtime.frs_spine import ANNUITY_AND_TRUST_INCOME_COLUMN from microcosm.build.uk_runtime.frs_take_up import uk_take_up_population_policy from microcosm.build.uk_runtime.hmrc_income import ( HMRCIncomeTargetSet, @@ -270,6 +271,10 @@ # tape's income is the tax year's, so each share is 1, and the twin's # other spells stay only where the tape drew none of that income. *FRS_ANNUAL_INCOME_OUTPUT_COLUMNS, + # A drawn row's private pension is the tape's, which books annuity and + # trust payments as other income, so its descriptor of them is zero + # (microcosm#1428). + ANNUITY_AND_TRUST_INCOME_COLUMN, ) # Reviewed constants for every load-bearing manifest parameter the spine @@ -315,6 +320,7 @@ ) # Held to the drawn incomes by rule, not drawn by stage 2. and column not in FRS_ANNUAL_INCOME_OUTPUT_COLUMNS + and column != ANNUITY_AND_TRUST_INCOME_COLUMN ) #: Both forests are queried over every SPI-channel person aged 16 and over, #: and the dependants' rows are discarded (uk-data#504, microcosm#1095). diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/terminal_gates.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/terminal_gates.py index f6b0e71774..97f2618ec3 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/terminal_gates.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/terminal_gates.py @@ -309,6 +309,9 @@ def __post_init__(self) -> None: # The self-employed's gross receipts for the trading allowance, which the # enhanced FRS leaves at the engine's zero (microcosm#1428). "person.self_employment_gross_receipts", + # The annuity and trust part of private_pension_income, a calibration-only + # descriptor no engine input reads (microcosm#1428). + "person.annuity_and_trust_income", "person.esa_health_condition_proxy", "person.esa_includes_support_component", "person.esa_support_group_proxy", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/uc_take_up.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/uc_take_up.py index e0e24af9b3..a93fa5bd6c 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/uc_take_up.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/uc_take_up.py @@ -55,7 +55,7 @@ from __future__ import annotations -from collections.abc import Callable, Mapping, Sequence +from collections.abc import Mapping, Sequence from dataclasses import dataclass, field from typing import Any @@ -193,13 +193,15 @@ "rest on minimum_pool_sources distinct household_source_id values; a short " "last pool joins the one before it. Then, lowest first, a pool that cannot " "meet DWP's count (its undrawn entitled units' expected claims exceed the " - "count, or the count exceeds them plus the weight of every drawn unit) joins " - "the adjacent pool with more room for its gap, the lower on a tie, until " - "every pool can meet its count or the family type is one pool" + "count, or the count exceeds them plus the weight of every drawn unit) is " + "held at the nearer of those ends and passes its gap to the other pools, " + "nearest first, the one with more room first at equal distance and the " + "lower on a tie, each taking what its room allows; a gap no pool can take " + "leaves the family type unreachable" ) UC_TAKE_UP_RESIDUAL_RATE = ( "(T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the " - "pool's bands, D the weight of the pool's drawn units and F the expected " + "pool's bands after any gaps passed to or from it, D the weight of the pool's drawn units and F the expected " "claims of its other entitled units, over Great Britain at the stage's " "household weights; realized by the drawn units claiming in the order of " "their uniform until their weight is nearest T - F, and applied at that " @@ -342,53 +344,76 @@ def _pools( return pools -def _join_unmet_pools( - pools: list[list[int]], - balance: Callable[[list[int]], tuple[float, float, float]], -) -> list[list[int]]: - """Join, lowest first, each pool that cannot meet DWP's count to a neighbour. - - ``balance`` gives a pool's DWP count ``T``, the expected claims ``F`` of its - undrawn entitled units and the weight ``D`` of its drawn units. A pool - cannot meet ``T`` when ``F`` already exceeds it or when ``T`` exceeds - ``F + D``; its clipped rate then leaves the family type's caseload off - DWP's by the gap, and which bands fall short moves with small upstream - changes (microcosm#1428). The pool joins the adjacent pool with more room - for its gap, the lower on a tie: the claims the neighbour's drawn units can - add beyond its own count (``F + D - T``) when the pool falls short, or the - drawn claims it can give up (``T - F``) when the pool overshoots. Joining - repeats until every pool can meet its count or the family type is one - pool, as a family type whose count exceeds all its entitled units stays. +def _pass_unmet_gaps( + sums: Sequence[tuple[float, float, float]], +) -> tuple[list[float], list[float]]: + """Each pool's count after the unmet pools pass their gaps on. + + ``sums`` gives each pool's DWP count ``T``, the expected claims ``F`` of + its undrawn entitled units and the weight ``D`` of its drawn units, lowest + band first. A pool realizes between ``F`` and ``F + D`` claims; one whose + count lies outside is held at the nearer end, and its gap is the claims it + cannot add (a shortfall) or give up (an excess). A shortfall and an excess + offset each other in the family type's total, so they cancel first, nearest + pools first. What remains goes to the other pools, nearest first, the one + with more room first at equal distance and the lower on a tie, each taking + what its room allows (``F + D - T`` for a shortfall, ``T - F`` for an + excess). Joining an unmet pool to its neighbour applied one rate to both, + so the drawn units of an overshooting band started claiming and those of + a short band stopped; held at its clip, each band realizes as near its own + count as it can, and the family type's total is unchanged wherever its + entitled units allow (microcosm#1428 review, finding 7). Returns each + pool's count and the part of its gap no pool could take. """ - pools = [list(bands) for bands in pools] - while len(pools) > 1: - sums = [balance(bands) for bands in pools] - unmet = next( - ( - index - for index, (target, undrawn, drawn) in enumerate(sums) - if target < undrawn or target > undrawn + drawn - ), - None, + targets = [float(target) for target, _, _ in sums] + lows = [float(undrawn) for _, undrawn, _ in sums] + highs = [float(undrawn) + float(drawn) for _, undrawn, drawn in sums] + counts = [ + min(max(t, lo), hi) for t, lo, hi in zip(targets, lows, highs, strict=True) + ] + gaps = [t - count for t, count in zip(targets, counts, strict=True)] + for index, target in enumerate(targets): + if abs(gaps[index]) <= 1e-9 * max(1.0, abs(target)): + gaps[index] = 0.0 + + def nearest(index: int) -> list[int]: + return sorted( + (other for other in range(len(sums)) if other != index), + key=lambda other: (abs(other - index), other), ) - if unmet is None: - break - target, undrawn, drawn = sums[unmet] - short = target > undrawn + drawn - rooms = { - index: ( - sums[index][1] + sums[index][2] - sums[index][0] - if short - else sums[index][0] - sums[index][1] + + for index in range(len(sums)): + for other in nearest(index): + if gaps[index] == 0.0: + break + if gaps[index] * gaps[other] < 0.0: + offset = min(abs(gaps[index]), abs(gaps[other])) + gaps[index] -= np.sign(gaps[index]) * offset + gaps[other] -= np.sign(gaps[other]) * offset + for index, gap in enumerate(gaps): + if gap == 0.0: + continue + short = gap > 0.0 + + def room(other: int, *, short: bool = short) -> float: + return max( + highs[other] - counts[other] if short else counts[other] - lows[other], + 0.0, ) - for index in (unmet - 1, unmet + 1) - if 0 <= index < len(pools) - } - partner = max(rooms.items(), key=lambda item: (item[1], -item[0]))[0] - low, high = sorted((unmet, partner)) - pools[low : high + 1] = [pools[low] + pools[high]] - return pools + + remaining = abs(gap) + for other in sorted( + nearest(index), + key=lambda other: (abs(other - index), -room(other), other), + ): + take = min(remaining, room(other)) + counts[other] += take if short else -take + remaining -= take + if remaining <= 0.0: + break + gaps[index] = remaining if short else -remaining + return counts, gaps def _realized_rate( @@ -524,39 +549,37 @@ def balance( pools: list[dict[str, object]] = [] for name, _ in UC_FAMILY_TYPES: in_family = family == name - for bands in _join_unmet_pools( - _pools( - band=band, - in_family=in_family, - drawable_gb=drawable & gb, - source_ids=source_ids, - weights=weights, - minimum_sources=minimum_pool_sources, - ), - lambda bands, name=name, in_family=in_family: balance( - name, in_family, bands - ), + family_pools = _pools( + band=band, + in_family=in_family, + drawable_gb=drawable & gb, + source_ids=source_ids, + weights=weights, + minimum_sources=minimum_pool_sources, + ) + sums = [balance(name, in_family, bands) for bands in family_pools] + counts, unplaced = _pass_unmet_gaps(sums) + feasible = not any(unplaced) + for bands, (target, undrawn, drawn), count in zip( + family_pools, sums, counts, strict=True ): in_pool = in_family & np.isin(band, bands) solve = in_pool & gb - target, undrawn, drawn = balance(name, in_family, bands) - # Where the undrawn claims reach DWP's count, or the count exceeds - # every entitled unit, the clipped rate cannot meet it. if drawn > 0.0: - residual = (target - undrawn) / drawn rates[in_pool & drawable] = _realized_rate( - residual, - need=target - undrawn, + (count - undrawn) / drawn, + need=count - undrawn, draws=draws[solve & drawable], weights=weights[solve & drawable], ) - else: - residual = 0.0 if undrawn >= target else 1.0 + # Where the undrawn claims reach DWP's count, or the count exceeds + # every entitled unit, the pool cannot meet it alone: it is held + # at its clip and its gap passed on. unreachable = ( "undrawn_claims_reach_target" - if residual <= 0.0 + if target <= undrawn else "target_exceeds_entitled" - if residual >= 1.0 + if target >= undrawn + drawn else None ) pools.append( @@ -566,6 +589,7 @@ def balance( "mask": solve, "target": target, "unreachable": unreachable, + "feasible_family": feasible, } ) would_claim = np.where(drawable, draws < rates, previous | reporter) @@ -598,7 +622,10 @@ def balance( ), } ) - if pool["unreachable"] is None: + # A family type whose gaps every pool could take realizes its + # count over all its pools; one whose count exceeds what its + # entitled units can realize has no reachable pool. + if pool["feasible_family"]: reachable |= solve reachable_target += float(pool["target"]) supported = sources(basis) diff --git a/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py b/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py index 7c225111d0..60b8200d33 100644 --- a/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py +++ b/packages/microcosm-build/tests/engine/uk/test_uk_spi_income.py @@ -69,16 +69,21 @@ def test_spi_rebases_income_before_frs_fill_and_preserves_child_inputs( monkeypatch.setattr( spi_income, "_spi_income_uprating_factors", - lambda year: (factors, {"from_period": 2022, "to_period": year}), + lambda year, *, rebased_columns=None: ( + factors, + {"from_period": 2022, "to_period": year}, + ), raising=False, ) # The donor savings rebase runs on the prepared tape when the stage rebases - # to the build year, and only then (microcosm#1418 savings follow-up). + # to the build year, and only then (microcosm#1418 savings follow-up), + # banding the tape on its income moved to 2023-24 (microcosm#1428). rebased = [] - def rebase(donor, published): + def rebase(donor, published, *, income_factors=None): rebased.append(sorted(published)) - return donor, {"rebased": True} + assert income_factors == factors + return donor, {"rebased": True, "columns": {}} monkeypatch.setattr(spi_income, "rebase_spi_donor_savings", rebase) options = dict( @@ -119,7 +124,7 @@ def rebase(donor, published): assert result.income_uprating == { "from_period": 2022, "to_period": 2024, - "savings_rebase": {"rebased": True}, + "savings_rebase": {"rebased": True, "columns": {}}, } diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py index adb7de155b..5aa108e0aa 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_frs_spine.py @@ -401,8 +401,9 @@ def _fixture_tables() -> dict[str, list[dict[str, object]]]: "POINC": 2, "PENOTH": 0, }, - # Income from a trust (PENTYPE 5) is savings income SPI counts as - # other income, not pension (microcosm#1428). + # Income from a trust (PENTYPE 5) stays private pension income, + # where the engine's means tests read it; its part is stored for + # SPI Table 3.7's other income (microcosm#1428). { "SERNUM": 2, "BENUNIT": 1, @@ -1270,9 +1271,13 @@ def test_direct_person_mapping_values_are_ported(tmp_path: Path) -> None: # The gilt is other interest, no longer a dividend (microcosm#1418). assert adult["dividend_income"] == pytest.approx(3 * WEEKS_IN_YEAR) assert adult["other_investment_income"] == pytest.approx(5.0 * WEEKS_IN_YEAR) - # Household 2's trust income is other income, not pension (microcosm#1428). - assert other["other_investment_income"] == pytest.approx(6.0 * WEEKS_IN_YEAR) - assert other["private_pension_income"] == 0.0 + # Household 2's trust income stays private pension, where the engine's + # means tests and household income read it, and its part is stored as + # the descriptor SPI Table 3.7's other-income measure adds (microcosm#1428). + assert other["other_investment_income"] == 0.0 + assert other["private_pension_income"] == pytest.approx(6.0 * WEEKS_IN_YEAR) + assert other["annuity_and_trust_income"] == pytest.approx(6.0 * WEEKS_IN_YEAR) + assert adult["annuity_and_trust_income"] == 0.0 # ROYYR1 2 only: CVPAY (1 a week) is rent the adult pays as a lodger # (rent_paid_as_lodger, pe-uk#2006), not their own income, and household 1 # does not sub-let. @@ -1584,6 +1589,21 @@ def test_frs_spine_refuses_an_adult_tab_without_alimony( build_uk_frs_spine_frame(tmp_path, stage=stage) +def test_frs_spine_refuses_a_pension_tab_without_pentype(tmp_path: Path) -> None: + """A vintage without PENTYPE refuses; it never reads every annuity and + trust payment as a pension (microcosm#1428).""" + + tables = _fixture_tables() + tables["pension"] = [ + {key: value for key, value in row.items() if key != "PENTYPE"} + for row in tables["pension"] + ] + stage = _write_fixture(tmp_path, tables) + + with pytest.raises(ValueError, match="PENTYPE"): + build_uk_frs_spine_frame(tmp_path, stage=stage) + + def test_frs_spine_refuses_an_adult_tab_without_sppadj(tmp_path: Path) -> None: """A vintage without SPPADJ refuses; it never sets nobody's paternity pay.""" diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_measure_simulation.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_measure_simulation.py index 91507262fb..d0ab4852a5 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_measure_simulation.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_measure_simulation.py @@ -13,6 +13,7 @@ from microcosm.build.uk_runtime.income_tax_rate_classes import UK_RATE_CLASS_ALLOCATION from microcosm.build.uk_runtime.measure_simulation import ( UK_SAVINGS_INTEREST_OUTSIDE_ISAS, + UK_SPI_OTHER_INVESTMENT_INCOME, UKMeasureResolver, apply_uk_calibration_measure_exclusions, compute_uk_measure_input, @@ -2075,6 +2076,62 @@ def test_the_resolver_routes_interest_outside_isas_to_persons( ) +def _annuity_frame() -> FrameStub: + """A pensioner with a purchased annuity inside the stored pension, a + gilt holder, and a person with no stored pension (microcosm#1428).""" + + frame = FrameStub() + frame._tables["person"] = frame._tables["person"].assign( + private_pension_income=[4_000.0, 0.0, 0.0], + annuity_and_trust_income=[1_000.0, 0.0, 0.0], + ) + return frame + + +def test_spi_other_income_adds_the_annuity_and_trust_part_of_pensions(): + """SPI Table 3.7's other income counts purchased-annuity and trust + payments, which FRS rows keep in private pension for the engine's means + tests: the measure adds their share of the engine's pension, so they grow + on its private pension path (microcosm#1428).""" + + simulation = SimulationStub( + { + "other_investment_income": ("person", np.array([0.0, 500.0, 0.0])), + "private_pension_income": ("person", np.array([4_400.0, 0.0, 0.0])), + } + ) + values, route = compute_uk_measure_input( + _annuity_frame(), simulation, "person", UK_SPI_OTHER_INVESTMENT_INCOME, 2025 + ) + # A quarter of the stored pension, grown by the engine's 10%. + np.testing.assert_allclose(values, [1_100.0, 500.0, 0.0]) + assert route.startswith("engine_components:other_investment_income") + # A frame without the descriptor (the enhanced FRS reference) reads the + # engine's other income alone. + np.testing.assert_allclose( + compute_uk_measure_input( + FrameStub(), simulation, "person", UK_SPI_OTHER_INVESTMENT_INCOME, 2025 + )[0], + [0.0, 500.0, 0.0], + ) + with pytest.raises(KeyError, match="person-only"): + compute_uk_measure_input( + _annuity_frame(), + simulation, + "household", + UK_SPI_OTHER_INVESTMENT_INCOME, + 2025, + ) + + +def test_the_spi_other_income_rows_read_the_annuity_measure(): + targets = measure_simulation._uk_contract_targets() + binding = targets["hmrc.spi.other_investment_income.amount_by_total_income_band"][ + "bindings" + ]["policyengine"] + assert binding["value_variable"] == UK_SPI_OTHER_INVESTMENT_INCOME + + def _stub_engine_term_calendar(monkeypatch) -> None: """policyengine-uk's year of terms, without the engine installed.""" diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py index b6317d4dcc..fa214784b1 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py @@ -85,6 +85,7 @@ def test_the_rebased_tape_reproduces_the_published_bands() -> None: "band_factors", "below_first_band_factor", "bands_without_tape_amounts", + "bands_too_thin_to_gross", } assert ( receipt["columns"]["other_investment_income"]["bands_without_tape_amounts"] @@ -194,7 +195,7 @@ def test_the_factors_read_the_tapes_taxpayers() -> None: donor[spi_income.SPI_DONOR_TAXPAYER_COLUMN] = [False, True, False, True, True] rebased, receipt = rebase_spi_donor_savings(donor, PUBLISHED) interest = receipt["columns"]["savings_interest_income"] - assert receipt["factors_over"] == "taxpayers" + assert receipt["factors_over"].startswith("taxpayers") # The £12,570 band's taxpayers hold 5 x 40 = 200 of the tape's interest # there: 1,500 over 200. All bands: 6,500 over 2,200. assert interest["band_factors"]["12570"] == pytest.approx(7.5) @@ -207,7 +208,7 @@ def test_the_factors_read_the_tapes_taxpayers() -> None: assert weighted.sum() == pytest.approx(1_500.0) # Without the flag every record counts, as before. _, plain = rebase_spi_donor_savings(_donor(), PUBLISHED) - assert plain["factors_over"] == "all_records" + assert plain["factors_over"] == "all_records_at_or_above_the_first_band" def test_a_tape_that_does_not_gross_to_the_population_is_left_as_it_is() -> None: @@ -266,3 +267,172 @@ def test_gift_leaves_are_anchored_to_the_tapes_weighted_totals() -> None: spi_people=drawn, ) assert receipt["factors"]["charitable_investment_gifts"] == 1.0 + + +def test_drawn_rows_drop_their_twins_annuity_and_trust_descriptor() -> None: + # A drawn row's private pension is the tape's, which books annuity and + # trust payments as other income; an undrawn copy keeps its twin's part + # (microcosm#1428). + person = pd.DataFrame({"annuity_and_trust_income": [500.0, 700.0, 0.0]}) + drawn = pd.Series([True, False, False]) + cleared = spi_income._clear_annuity_and_trust_descriptor( + person.copy(), spi_people=drawn + ) + assert cleared["annuity_and_trust_income"].tolist() == [0.0, 700.0, 0.0] + # A frame without the descriptor is left as it is. + bare = pd.DataFrame({"private_pension_income": [1.0]}) + assert spi_income._clear_annuity_and_trust_descriptor( + bare.copy(), spi_people=pd.Series([True]) + ).equals(bare) + + +INTEREST_ONLY = {"savings_interest_income": {12_570: 100.0, 50_000: 400.0}} + + +def _edge_donor() -> pd.DataFrame: + # A just below the £50,000 edge in 2022-23, B well above it. + return pd.DataFrame( + { + "total_income": [49_950.0, 60_000.0], + "FACT": [100.0, 100.0], + "savings_interest_income": [1.0, 1.0], + "dividend_income": [5_000.0, 0.0], + } + ) + + +def test_the_tape_is_banded_on_its_income_moved_to_2023_24() -> None: + # Banded on its 2022-23 income, A sits in the £12,570 band. Moved to + # 2023-24 (dividends x1.1), it crosses the £50,000 edge, the band the + # consumers will find it in after uprating, so its migration is counted + # once (microcosm#1428 review, finding 6). + held, held_receipt = rebase_spi_donor_savings(_edge_donor(), INTEREST_ONLY) + assert held["savings_interest_income"].tolist() == pytest.approx([1.0, 4.0]) + moved, receipt = rebase_spi_donor_savings( + _edge_donor(), INTEREST_ONLY, income_factors={"dividend_income": 1.1} + ) + assert moved["savings_interest_income"].tolist() == pytest.approx([2.0, 2.0]) + assert receipt["columns"]["savings_interest_income"]["band_factors"] == { + "50000": pytest.approx(2.0) + } + assert receipt["band_by"] == "total_income_moved_to_2023_24" + assert receipt["banding_converged"] is True + + +def test_a_saver_who_becomes_a_taxpayer_counts_once() -> None: + # C pays no tax in 2022-23 and crosses the Personal Allowance by 2023-24; + # D is a taxpayer throughout. Both are 2023-24 taxpayers in the £12,570 + # band, so their 2,000 meets its 4,000 at a factor of 2. Counting only D + # (factor 4) and giving C the all-bands factor would count C twice + # (microcosm#1428 review, finding 10). + donor = pd.DataFrame( + { + "total_income": [12_000.0, 20_000.0], + "FACT": [10.0, 10.0], + "savings_interest_income": [100.0, 100.0], + "dividend_income": [1_000.0, 0.0], + spi_income.SPI_DONOR_TAXPAYER_COLUMN: [False, True], + } + ) + rebased, receipt = rebase_spi_donor_savings( + donor, + {"savings_interest_income": {12_570: 4_000.0, 50_000: 1.0}}, + income_factors={"dividend_income": 1.6}, + ) + assert receipt["columns"]["savings_interest_income"]["band_factors"][ + "12570" + ] == pytest.approx(2.0) + weighted = rebased["savings_interest_income"] * rebased["FACT"] + assert weighted.sum() == pytest.approx(4_000.0) + + +def test_a_flagged_taxpayer_below_the_first_band_sits_in_it() -> None: + # Table 3.7's lowest band holds taxpayers below the Personal Allowance + # (note 8): a flagged taxpayer there shares the band's factor. + donor = pd.DataFrame( + { + "total_income": [8_000.0, 20_000.0], + "FACT": [10.0, 10.0], + "savings_interest_income": [100.0, 100.0], + spi_income.SPI_DONOR_TAXPAYER_COLUMN: [True, True], + } + ) + rebased, _ = rebase_spi_donor_savings( + donor, {"savings_interest_income": {12_570: 6_000.0, 50_000: 1.0}} + ) + assert rebased["savings_interest_income"].tolist() == pytest.approx([300.0, 300.0]) + + +def test_a_band_too_thin_to_gross_takes_the_all_bands_factor() -> None: + # The £50,000 band's tape holds 10 against a published 1,000, under a + # tenth: its factor would be 100, so it takes the all-bands factor and is + # named (microcosm#1428 review, finding 10). + donor = pd.DataFrame( + { + "total_income": [20_000.0, 60_000.0], + "FACT": [10.0, 1.0], + "savings_interest_income": [100.0, 10.0], + } + ) + rebased, receipt = rebase_spi_donor_savings( + donor, {"savings_interest_income": {12_570: 2_000.0, 50_000: 1_000.0}} + ) + interest = receipt["columns"]["savings_interest_income"] + assert interest["bands_too_thin_to_gross"] == [50_000] + assert "50000" not in interest["band_factors"] + assert rebased.loc[1, "savings_interest_income"] == pytest.approx( + 10.0 * interest["below_first_band_factor"] + ) + + +def test_a_skipped_column_keeps_its_engine_index_from_2022_23(monkeypatch) -> None: + variables = { + name: SimpleNamespace(uprating="index") + for name in spi_income.SPI_INCOME_UPRATING_VARIABLES.values() + if name is not None + } + + def parameters(period): + return SimpleNamespace(index=100.0 if period.startswith("2022") else 120.0) + + monkeypatch.setitem( + sys.modules, + "policyengine_uk", + SimpleNamespace( + CountryTaxBenefitSystem=lambda: SimpleNamespace( + variables=variables, parameters=parameters + ) + ), + ) + factors, receipt = spi_income._spi_income_uprating_factors.__wrapped__( + 2024, rebased_columns=frozenset({"other_investment_income"}) + ) + # Interest the rebase left as it was grows on its engine index from + # 2022-23, not on the OBR's path from 2023-24 (microcosm#1428 review). + assert receipt["columns"]["savings_interest_income"]["basis"] == "model_index" + assert factors["savings_interest_income"] == pytest.approx(1.2) + assert receipt["columns"]["other_investment_income"]["basis"] == ( + "spi_published_bands_then_obr_savings_income" + ) + + +def test_the_tape_taxpayer_flag_is_validated(tmp_path) -> None: + from test_support.microcosm_build.uk_spi_income import _write_donor + + path = tmp_path / "donor.tab" + _write_donor(path) + raw = pd.read_csv(path, delimiter="\t") + # Without the flag the prepared tape carries none. + assert spi_income.SPI_DONOR_TAXPAYER_COLUMN not in ( + spi_income.prepare_spi_donor_table(raw, seed=0) + ) + flagged = raw.assign(TAXPAYER=[1, 2, 1, 2]) + prepared = spi_income.prepare_spi_donor_table(flagged, seed=0) + assert prepared[spi_income.SPI_DONOR_TAXPAYER_COLUMN].tolist() == [ + True, + False, + True, + False, + ] + with pytest.raises(ValueError, match="TAXPAYER"): + spi_income.prepare_spi_donor_table(raw.assign(TAXPAYER=[1, 0, 1, 2]), seed=0) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_spine.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_spine.py index 1abec55db3..2705085a75 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_spine.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_spine.py @@ -611,7 +611,7 @@ def test_spi_spine_parsed_inputs_match_the_path_resolution( # This test checks parsed/path source resolution, independently of the engine. # Real index coverage lives in test_uk_spi_income.py. - def uprating_factors(year): + def uprating_factors(year, *, rebased_columns=None): return ( {column: 1.25 for column in SPI_INCOME_QRF_OUTPUT_COLUMNS}, {"from_period": 2022, "to_period": year, "basis": "synthetic_test"}, diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_uc_take_up.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_uc_take_up.py index b9057fcf5b..1730e58c63 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_uc_take_up.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_uc_take_up.py @@ -11,6 +11,7 @@ from microcosm.build.country_spec import load_country_spec from microcosm.build.source_manifest import SourceStageSpec +from microcosm.build.uk_runtime import uc_take_up from microcosm.build.uk_runtime.frs_take_up import ( UK_TAKE_UP_SIGNAL_OUTPUTS, UKTakeUpPopulationPolicy, @@ -235,9 +236,9 @@ def test_a_pool_nearer_zero_than_its_first_unit_draws_no_claimant() -> None: def test_a_family_type_that_cannot_meet_its_count_is_flagged_unreachable() -> None: # Band 0: reporters alone exceed DWP's count; band 2: the count exceeds - # every entitled unit. Neither pool can meet its count, so they join - # (microcosm#1428), and the joined pool still falls short: every drawn - # unit claims. + # every entitled unit. Each band keeps its own pool: the two gaps offset, + # the remaining shortfall takes band 0's one drawn unit, and the family + # type still falls short, so every drawn unit claims (microcosm#1428). award = np.asarray([100.0] * 4 + [3_000.0] * 4) reporter = np.asarray([True, True, True, False, False, False, False, False]) would_claim, receipt = _assign( @@ -249,9 +250,9 @@ def test_a_family_type_that_cannot_meet_its_count_is_flagged_unreachable() -> No minimum_pool_sources=1, ) assert would_claim.all() - (pool,) = [pool for pool in receipt["pools"] if pool["family_type"] == "SINGLE"] - assert pool["bands"] == list(UC_AWARD_BAND_LABELS) - assert pool["target_unreachable"] == "<10" + pools = [pool for pool in receipt["pools"] if pool["family_type"] == "SINGLE"] + assert [pool["bands"][0] for pool in pools] == list(UC_AWARD_BAND_LABELS[:2]) + assert all(pool["target_unreachable"] == "<10" for pool in pools) assert all("rate" not in pool for pool in receipt["pools"]) # With ten or more sources behind a pool the flag says which side it is # on: the singles' reporters exceed their count, and the couples' count @@ -277,51 +278,67 @@ def test_a_family_type_that_cannot_meet_its_count_is_flagged_unreachable() -> No assert receipt["families"]["SINGLE"]["reachable_pools_dwp_caseload"] == 0.0 -def test_a_pool_that_cannot_meet_its_count_joins_the_neighbour_with_more_room() -> None: - # Band 0: four drawn units and a count of 3 (one claim to spare); band 2: - # two drawn units and a count of 5 (three short); band 4: ten drawn units - # and a count of 5 (five to spare). Band 2's pool joins band 4's, which - # has more room, band 0 keeps its own, and the singles land on DWP's 13 - # (microcosm#1428). +def test_an_unmet_pool_passes_its_gap_to_the_neighbour_with_more_room() -> None: + # Band 0: four drawn units and a count of 3 (one to spare); band 2: two + # drawn units and a count of 5 (three short); band 4: ten drawn units and a + # count of 5 (five to spare). Band 2 is held at its two claims and passes + # its three to band 4, which has more room; band 0 keeps its own count, and + # the singles land on DWP's 13 (microcosm#1428 review, finding 7). award = np.asarray([600.0] * 4 + [3_000.0] * 2 + [5_500.0] * 10) would_claim, receipt = _assign( award=award, targets=_targets(SINGLE_0=3.0, SINGLE_2=5.0, SINGLE_4=5.0) ) - assert [ - pool["bands"] for pool in receipt["pools"] if pool["family_type"] == "SINGLE" - ] == [[UC_AWARD_BAND_LABELS[0]], list(UC_AWARD_BAND_LABELS[1:])] assert int(would_claim[:4].sum()) == 3 - assert int(would_claim[4:].sum()) == 10 + assert would_claim[4:6].all() + assert int(would_claim[6:].sum()) == 8 single = receipt["families"]["SINGLE"] assert single["caseload_after"] == pytest.approx(13.0) assert single["reachable_pools_dwp_caseload"] == pytest.approx(13.0) - # On equal room the lower neighbour takes the pool. + # On equal room the lower neighbour takes the gap. award = np.asarray([600.0] * 3 + [3_000.0] + [5_500.0] * 3) - _, receipt = _assign( + would_claim, _ = _assign( award=award, targets=_targets(SINGLE_0=1.0, SINGLE_2=2.0, SINGLE_4=1.0) ) assert [ - pool["bands"] for pool in receipt["pools"] if pool["family_type"] == "SINGLE" - ] == [list(UC_AWARD_BAND_LABELS[:3]), list(UC_AWARD_BAND_LABELS[3:])] + int(would_claim[:3].sum()), + int(would_claim[3]), + int(would_claim[4:].sum()), + ] == [2, 1, 1] -def test_a_pool_whose_reporters_overshoot_joins_one_with_drawn_claims() -> None: +def test_an_overshooting_pool_passes_its_excess_to_one_with_drawn_claims() -> None: # Band 0: three reporters, one drawn unit and a count of 1 (two over); - # band 2: six drawn units and a count of 4. The joined pool's seven drawn - # units carry the two claims DWP's 5 leaves after the reporters. + # band 2: six drawn units and a count of 4. Band 0 is held at its + # reporters and its drawn unit does not claim; its two over come off band + # 2, whose drawn units carry the two claims DWP's 5 leaves. A joined pool + # had let band 0's drawn unit claim (microcosm#1428 review, finding 7). award = np.asarray([600.0] * 4 + [3_000.0] * 6) reporter = np.asarray([True] * 3 + [False] * 7) would_claim, receipt = _assign( award=award, reporter=reporter, targets=_targets(SINGLE_0=1.0, SINGLE_2=4.0) ) assert would_claim[:3].all() - assert int(would_claim[3:].sum()) == 2 - assert [ - pool["bands"] for pool in receipt["pools"] if pool["family_type"] == "SINGLE" - ] == [list(UC_AWARD_BAND_LABELS)] + assert not would_claim[3] + assert int(would_claim[4:].sum()) == 2 assert receipt["families"]["SINGLE"]["caseload_after"] == pytest.approx(5.0) +def test_gaps_offset_before_they_pass() -> None: + # One pool overshoots by 1 and another falls short by 6: the excess + # offsets the shortfall, and only the remaining 5 look for room + # (microcosm#1428 review, finding 7). + counts, unplaced = uc_take_up._pass_unmet_gaps([(2.0, 3.0, 1.0), (10.0, 0.0, 4.0)]) + assert counts == [4.0, 4.0] + assert unplaced == [0.0, 4.0] + # A feasible family type keeps its total: 3 + 5 + 5 over pools that hold + # 0-4, 0-2 and 0-10. + counts, unplaced = uc_take_up._pass_unmet_gaps( + [(3.0, 0.0, 4.0), (5.0, 0.0, 2.0), (5.0, 0.0, 10.0)] + ) + assert counts == [3.0, 2.0, 8.0] + assert not any(unplaced) + + def test_undrawn_units_keep_their_flag_and_count_at_their_expected_claim() -> None: # Twice over: a unit with no award (keeps its early claim); one outside # the age population (keeps no claim); one moved off its legacy benefits, diff --git a/packages/microcosm-data/src/microcosm/data/contract.py b/packages/microcosm-data/src/microcosm/data/contract.py index 4a6cab41ac..edb5688930 100644 --- a/packages/microcosm-data/src/microcosm/data/contract.py +++ b/packages/microcosm-data/src/microcosm/data/contract.py @@ -980,10 +980,10 @@ def _uk_line_cut_tag_re(release_id: str) -> re.Pattern[str] | None: }, "release_cut": { "gates_manifest_sha256": ( - "16d49f65201db71d8780be13512216e30360d9c0739ca104f3507ff77aeb387a" + "bc55902443076fdc74a34bbdb6ec0ce5491603f8ea0b0c8d66008ed69c3c4aa2" ), "policy_sha256": ( - "434d9b579a392036436cacefa828dfb1fc4fbef35056fc78ea68bd91d37de5e1" + "d74ea8e21e60092dfcbddd40cbdde3acb190500e4d419128ca8317dc318bafdf" ), }, } diff --git a/tools/graph_uk_spine_fixture.py b/tools/graph_uk_spine_fixture.py index f115172047..c89625b6dc 100644 --- a/tools/graph_uk_spine_fixture.py +++ b/tools/graph_uk_spine_fixture.py @@ -733,6 +733,10 @@ def _frs_tables() -> dict[str, pd.DataFrame]: "SERNUM": household_id, "BENUNIT": 1, "PERSON": 1, + # Every fifth household's payment is trust income (PENTYPE 5), + # which stays private pension with its part stored as the + # annuity and trust descriptor (microcosm#1428). + "PENTYPE": 5 if household_id % 5 == 0 else 1, "PENPAY": 10.0, "PTAMT": 2.0, "PTINC": 2, From 24e2329f6766d423a0d70cf80f6b8d78e057ef09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sun, 1 Nov 2026 16:11:16 +0000 Subject: [PATCH 47/67] Pin the review's tests and correct the texts it found stale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The #1428 review's findings 3, 4, 8, 11, 12 and 13. - A roster test pins the eight stage transforms that declare fit_weight_records, read from the source, so a stage that declares the hook and records nothing can't reach the weights audit unreviewed (3). - The receipts test builds its small-cell labels with rounded_count, so it holds whatever floor main sets (4). - The trading allowance receipts stage states its two limits precisely: the raise relieves £1,932 more in 2027-28, falling to £1,758 by 2031-32, and the other traders' stored £3,000 mis-scores allowances above £3,000. Both wait on policyengine-uk#2765's claim status (microcosm#1439) (8). - The support floor's counts scope takes Table 3.10's employment count by self-employment band (11). - Tests pin the income-based JSA and employment-count rows (12). - Texts: the £1m-and-over interest hold tracks microcosm#1418; the income anchors doc, the uprating test and the NS&I comments describe what ships; the employment count's note says SPI rows count benefits in kind; the changelog fragments describe the change, not the branch's history (13). Co-Authored-By: Claude Opus 5.5 --- .../1428-dwp-jsa-income-based.added.md | 2 +- ...mployment-by-self-employment-band.added.md | 2 +- changelog.d/1428-spi-gift-anchor.changed.md | 1 + changelog.d/1428-spi-gift-anchor.fixed.md | 1 - .../1428-spi-other-income-analogue.changed.md | 2 +- .../1428-trading-allowance-receipts.added.md | 2 +- docs/uk-income-anchors-280.md | 27 ++++++-- .../uk/calibration_measure_exclusions.json | 7 +- .../src/microcosm/build/uk/source_stages.json | 2 +- .../src/microcosm/build/uk/spec/sources.yaml | 2 +- .../build/uk/uk_population_targets.json | 4 +- .../build/uk_runtime/spi_rank_transport.py | 9 +-- .../microcosm/build/uk_runtime/spi_spine.py | 4 +- .../microcosm/build/uk_runtime/spi_support.py | 6 +- .../uk_runtime/trading_allowance_receipts.py | 16 ++++- .../tests/engine/uk/test_uk_hmrc_uprating.py | 18 ++--- .../uk/test_uk_fit_weight_records_roster.py | 69 +++++++++++++++++++ .../uk/test_uk_pension_age_benefit_targets.py | 47 +++++++++++++ .../engine_free/uk/test_uk_support_floor.py | 4 +- .../uk/test_uk_trading_allowance_receipts.py | 8 ++- 20 files changed, 190 insertions(+), 43 deletions(-) create mode 100644 changelog.d/1428-spi-gift-anchor.changed.md delete mode 100644 changelog.d/1428-spi-gift-anchor.fixed.md create mode 100644 packages/microcosm-build/tests/engine_free/uk/test_uk_fit_weight_records_roster.py diff --git a/changelog.d/1428-dwp-jsa-income-based.added.md b/changelog.d/1428-dwp-jsa-income-based.added.md index aa0456ebb1..c00627bb8e 100644 --- a/changelog.d/1428-dwp-jsa-income-based.added.md +++ b/changelog.d/1428-dwp-jsa-income-based.added.md @@ -1 +1 @@ -The national calibration binds DWP's income-based Jobseeker's Allowance spending, `dwp.jsa.amount_income_based` (benefit expenditure and caseload tables, Spring Forecast 2026), at the calendar-2025 window of the fiscal years, as the pension-age Housing Benefit row is (#1428; María's ruling of 2026-10-31). Income-based JSA closes with the move to Universal Credit: £91.0m in FY2024-25 and under £1m from FY2025-26. Without the split, the calibration met OBR's total JSA by scaling income-based reporters together with contributory claimants. The release-cut input-mass check then found `jsa_income_reported` beyond its band. +The national calibration binds DWP's income-based Jobseeker's Allowance spending, `dwp.jsa.amount_income_based` (benefit expenditure and caseload tables, Spring Forecast 2026), at the calendar-2025 window of the fiscal years, as the pension-age Housing Benefit row is (#1428; María's ruling of 2026-10-31). Income-based JSA closes with the move to Universal Credit: £91.0m in FY2024-25 and under £1m from FY2025-26. Without the split, the calibration meets OBR's total JSA by scaling income-based reporters together with contributory claimants, far past DWP's income-based spending. diff --git a/changelog.d/1428-spi-employment-by-self-employment-band.added.md b/changelog.d/1428-spi-employment-by-self-employment-band.added.md index 0c0e2b84c8..eb50132a4e 100644 --- a/changelog.d/1428-spi-employment-by-self-employment-band.added.md +++ b/changelog.d/1428-spi-employment-by-self-employment-band.added.md @@ -1 +1 @@ -The national calibration binds SPI 2023-24 Table 3.10's individuals with employment income by self-employment band, `hmrc.spi.employment_income.count_by_self_employment_income_band`, over the eight bands from £1 to £10,000 that the self-employment counts and amounts already bind (#1418; María's choice of 2026-10-30). With the self-employment counts alone, the solve could meet each band with traders who have no pay, while in Table 3.10 more than half of the traders below £3,000 also have employment income; an employee's side profit is taxed at their marginal rate, so the mix of small traders decides what the Budget's trading allowance measures cost. Each person with pay over the year (`employment_income_annual`, the variable Table 3.6's employment rows read) counts in their own self-employment band, taxpayer or not. Table 3.10's column is wider, income assessed under ITEPA 2003 plus other miscellaneous income, so like Table 3.6's employment rows the binding leaves out miscellaneous income, benefits in kind and the contributory benefits. Counts grow to 2025 with HMRC's projected growth of all taxpayers (Income Tax liabilities statistics Table 2.5), as the self-employment counts do, and the zero band and the bands from £10,000 are signed out row by row. +The national calibration binds SPI 2023-24 Table 3.10's individuals with employment income by self-employment band, `hmrc.spi.employment_income.count_by_self_employment_income_band`, over the eight bands from £1 to £10,000 that the self-employment counts and amounts already bind (#1418; María's choice of 2026-10-30). With the self-employment counts alone, the solve could meet each band with traders who have no pay, while in Table 3.10 more than half of the traders below £3,000 also have employment income; an employee's side profit is taxed at their marginal rate, so the mix of small traders decides what the Budget's trading allowance measures cost. Each person with pay over the year (`employment_income_annual`, the variable Table 3.6's employment rows read) counts in their own self-employment band, taxpayer or not. Table 3.10's column is wider, income assessed under ITEPA 2003 plus other miscellaneous income, so like Table 3.6's employment rows the binding leaves out miscellaneous income and the contributory benefits; benefits in kind count on SPI rows, whose pay is the tape's PAY + EPB + TAXTERM, and not on FRS rows. Counts grow to 2025 with HMRC's projected growth of all taxpayers (Income Tax liabilities statistics Table 2.5), as the self-employment counts do, and the zero band and the bands from £10,000 are signed out row by row. diff --git a/changelog.d/1428-spi-gift-anchor.changed.md b/changelog.d/1428-spi-gift-anchor.changed.md new file mode 100644 index 0000000000..7ef70ce5a8 --- /dev/null +++ b/changelog.d/1428-spi-gift-anchor.changed.md @@ -0,0 +1 @@ +The SPI income stage anchors the drawn copies' Gift Aid and charitable investment gifts to the SPI tape's own weighted totals (#1428; María's ruling of 2026-10-31). Both are sparse leaves that the stage-1 chain draws after, and conditioned on, the income leaves, so a change to the savings draws reshuffles which few donors' gifts the copies draw. Each column's total over the drawn copies, at the stage's household weights, is scaled to the tape's FACT-weighted total. A column that the tape or the copies carry none of is left as drawn. The scaling fixes the totals, not how concentrated each column is. The stage evidence records each column's factor, never a total or a count. diff --git a/changelog.d/1428-spi-gift-anchor.fixed.md b/changelog.d/1428-spi-gift-anchor.fixed.md deleted file mode 100644 index b95723a37b..0000000000 --- a/changelog.d/1428-spi-gift-anchor.fixed.md +++ /dev/null @@ -1 +0,0 @@ -The SPI income stage anchors the drawn copies' Gift Aid and charitable investment gifts to the SPI tape's own weighted totals (#1428; María's ruling of 2026-10-31). Both are sparse leaves that the stage-1 chain draws after, and conditioned on, the income leaves. Rebasing the donor savings on the tape's taxpayers therefore changed which few donors' gifts the copies drew, and the release-cut input-mass check found `charitable_investment_gifts` beyond its band. Each column's total over the drawn copies, at the stage's household weights, is now scaled to the tape's FACT-weighted total. A column that the tape or the copies carry none of is left as drawn. The stage evidence records each column's factor, never a total or a count. diff --git a/changelog.d/1428-spi-other-income-analogue.changed.md b/changelog.d/1428-spi-other-income-analogue.changed.md index da33d7b332..c39db42253 100644 --- a/changelog.d/1428-spi-other-income-analogue.changed.md +++ b/changelog.d/1428-spi-other-income-analogue.changed.md @@ -1 +1 @@ -The SPI stage-1 transport now locates each copy's other-income draw at its FRS twin's own other income (gilts, trust and purchased-annuity income), as it does for the other investment leaves, instead of an identity uniform that ignored the twin's holdings (#1428). +The SPI stage-1 transport now locates each copy's other-income draw at its FRS twin's own other income (gilt interest), as it does for the other investment leaves, instead of an identity uniform that ignored the twin's holdings (#1428). diff --git a/changelog.d/1428-trading-allowance-receipts.added.md b/changelog.d/1428-trading-allowance-receipts.added.md index 7d427d1059..d4f2c6f5e6 100644 --- a/changelog.d/1428-trading-allowance-receipts.added.md +++ b/changelog.d/1428-trading-allowance-receipts.added.md @@ -1 +1 @@ -A new last spine stage, `trading_allowance_receipts`, stores the self-employed's gross receipts (`self_employment_gross_receipts`), so policyengine-uk applies the trading allowance against receipts as the law does (#1428; María's choice of 2026-10-31). Neither the FRS nor the SPI tape records turnover. Without receipts the engine relieved profits up to the allowance in full and nothing above it, so a rise in the allowance missed its main base: traders who already claim the £1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus £1,000 exactly. Each trader with a positive profit is flagged as a claimant with probability 0.64 for profits up to £4,500, 0.32 from £4,500 to £9,000 and none above, drawn on their own `person_id`. A claimant's receipts are their profit plus £1,000; any other trader's are their profit plus £3,000, expenses at the raised allowance, since the costing books traders who switch to the allowance as behaviour. The rates are calibrated to HMRC's policy paper (about 400,000 taxpayers with a lower bill, by about £380 on average) until HMRC publishes claimant counts. Every trader with a positive profit is treated as filing, as the Table 3.10 counts the calibration binds are of filers, so a profit of £1,000 or less is now taxed where the engine used to relieve it in full. `self_employment_gross_receipts` leaves the register of engine inputs left at their default and joins the export surface's allowed columns. The stage spec and schema, the graph and kernel wiring, the spine build, the coverage manifest, the H2 fixture and the data contract's gate digests follow. +A new last spine stage, `trading_allowance_receipts`, stores the self-employed's gross receipts (`self_employment_gross_receipts`), so policyengine-uk applies the trading allowance against receipts as the law does (#1428; María's choice of 2026-10-31). Neither the FRS nor the SPI tape records turnover. Without receipts the engine relieved profits up to the allowance in full and nothing above it, so a rise in the allowance missed its main base: traders who already claim the £1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus £1,000 exactly. Each trader with a positive profit is flagged as a claimant with probability 0.64 for profits up to £4,500, 0.32 from £4,500 to £9,000 and none above, drawn on their own `person_id`. A claimant's receipts are their profit plus £1,000; any other trader's are their profit plus £3,000, expenses at the raised allowance, since the costing books traders who switch to the allowance as behaviour. The rates are calibrated to HMRC's policy paper (about 400,000 taxpayers with a lower bill, by about £380 on average) until HMRC publishes claimant counts. Every trader with a positive profit is treated as filing, as the Table 3.10 counts the calibration binds are of filers, so a profit of £1,000 or less is now taxed where the engine used to relieve it in full. Two limits remain until policyengine-uk#2765 lets the stage store the claim status itself (#1439). A claimant's £1,000 grows with the mixed income index while the allowance is nominal, so the raise relieves £1,932 more in 2027-28, falling to £1,758 by 2031-32. The other traders' stored £3,000 grows the same way, so allowances above £3,000 are mis-scored. `self_employment_gross_receipts` leaves the register of engine inputs left at their default and joins the export surface's allowed columns. The stage spec and schema, the graph and kernel wiring, the spine build, the coverage manifest, the H2 fixture and the data contract's gate digests follow. diff --git a/docs/uk-income-anchors-280.md b/docs/uk-income-anchors-280.md index de89587cb6..0c9789dadd 100644 --- a/docs/uk-income-anchors-280.md +++ b/docs/uk-income-anchors-280.md @@ -62,8 +62,10 @@ membership carries the uprated value with its receipt. others take `policyengine_uk_parameter:`, the ratio of the pinned engine's parameter between 1 January of the fact's opening year and 1 January of the calibration year, the instants the SPI donor rebasing already - uses: dividends `obr.per_capita.gdp`. Savings interest takes two legs - (microcosm#1095): `ons.household_interest_income`, the index of its + uses: dividends `obr.per_capita.gdp`. Savings interest outside SPI Table + 3.7's rows takes two legs (microcosm#1095); Table 3.7's interest and other + income rows take the OBR's savings income path from 2023-24 instead, as the + next paragraph says (microcosm#1418): `ons.household_interest_income`, the index of its history, to the dataset's year, then `obr.per_capita.gdp`, the index the engine's dataset projection applies, to the calibration year (1.1420 x 1.0474 = 1.1961 on the pinned engine values; 1.0438 and 1.1920 before @@ -86,9 +88,19 @@ membership carries the uprated value with its receipt. vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then grows them on the OBR's savings income path the Table 3.7 targets take (`hmrc_uprating.uk_obr_savings_income_level`). Each band's factor is the - published amount over the tape's FACT-weighted one; a band the tape carries - none of is left as it is. From the frame's year on, the engine projects both - columns at GDP per head. + published amount over the FACT-weighted amount of the tape's taxpayers in + the band, as Table 3.7 counts taxpayers only (microcosm#1428). The tape is + banded on its income moved to 2023-24, each income leaf at its own factor, + repeating until the rebased savings move no record across a band edge, so + the band-edge migration the consumers re-band on uprated income is counted + once. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income + crosses the Personal Allowance by 2023-24; a flagged taxpayer below the first + band sits in it (note 8); any other record takes the factor of all bands. A + band the tape carries none of is left as it is, a band whose tape amount is + under a tenth of its published amount takes the factor of all bands, and a + column whose tape does not gross to the published amounts is left as it is + and grows on its engine index from 2022-23. From the frame's year on, the + engine projects the two columns on their own indices. - Count rows: `hmrc.itl_2026.taxpayer_count_growth_by_total_income_band`, HMRC's own projected growth in Income Tax payers for the Table 2.5 band that contains the SPI band (Income Tax liabilities statistics, July 2026), as the @@ -398,8 +410,9 @@ fold differs from its twin's, and a reference whose sign classes differ from the tape forest's on any located target. One difference between the two forests remains: the reference locates a leaf given the twin's observed earlier analogue leaves, while the tape forest draws it given every earlier -output, the three identity-uniform leaves (`other_investment_income`, -`gift_aid`, `charitable_investment_gifts`) included, so a located quantile is +output, the two identity-uniform leaves (`gift_aid`, +`charitable_investment_gifts`) included, since `other_investment_income` has +located at the twin's own other income from microcosm#1428, so a located quantile is read off a conditional those identity draws also shape; pay, which follows them in the chain, has the weakest rank fidelity, and moving the analogue targets ahead of the identity leaves is the follow-up to measure. Because the diff --git a/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json b/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json index 9d030b56ce..4d42127cd5 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json +++ b/packages/microcosm-build/src/microcosm/build/uk/calibration_measure_exclusions.json @@ -41,7 +41,8 @@ "hmrc.spi.private_pension_income.count_by_total_income_band", "hmrc.spi.state_pension.count_by_total_income_band", "hmrc.spi.savings_interest_income.count_by_total_income_band", - "hmrc.spi.self_employment_income.count_by_self_employment_income_band" + "hmrc.spi.self_employment_income.count_by_self_employment_income_band", + "hmrc.spi.employment_income.count_by_self_employment_income_band" ], "max_dropped_rows": 2, "max_dropped_published_share": 0.01 @@ -76,7 +77,7 @@ "reason": "Zero-support floor: a row in one of the floor's scopes (the UC payment-distribution and benefit-cap amount bands, the HMRC SPI income bands by total income and SPI Table 3.10's self-employment income bands, and the band-H council-tax rows by English region) whose compiled matrix row reaches no source household (household_source_id) with a positive prior weight cannot be fitted by any weights (the solver's initialiser refuses a nonzero target with no support), so it is dropped from the solve, not pooled. A row that some households carry stays bound however few they are; when fewer than 10 distinct source households carry it, its model figures are withheld from every written surface (the UK Data Service working floor, CD171 section 5.2.1). Each scope holds one unit, because its share ceiling sums published values. The floor's receipt reports each target's dropped published total and each scope's dropped share, and the run refuses when a scope's drops pass either of its ceilings or when a per-row exclusion names a row the floor drops.", "tracking": "microcosm#1095", "approved_by": "juaristi22", - "adjudication": "microcosm#1095 U3, ruled 2026-10-16 with the fifth ports PR (floor 10) and revised 2026-10-21 with #1333: a cell that rests on fewer than 10 records is no reason to leave a row out, only a measured distortion of the calibration is. The floor drops only rows no household carries, the benefit-cap amount bands join its scope and their per-row entries retire, and the figures of rows under 10 source households are withheld, as the BRMA rows' are. The thirteen entries it retired (the eleven benefit-cap amount bands and the two HMRC £500k to £1m cells) and the A/B that retired them: experiments/1095-uk-thin-row-binding-receipts.md. Extended on 2026-10-22 (María's ruling on the next policyengine-uk bump) to the HMRC SPI income-band families and the band-H council-tax rows by region, in scopes of one unit each with their own ceilings. On #1333's policyengine-uk 2.145.0 spine every HMRC £1m-and-over cell and every band-H region cell has carriers. The three band-H region entries retire and their rows bind, with their figures withheld where fewer than 10 source households carry them; the ten HMRC £1m-and-over cells, bound on arm 1, distorted their neighbours and stay held on that measurement, so the HMRC scopes cover the bands below them. Extended on 2026-10-29 in microcosm#1420, in answer to the independent review's finding 7 and pending María's confirmation, to the SPI families microcosm#1418 binds, Table 3.7's other income by total-income band and Table 3.10's self-employment bands from GBP 1 to GBP 10,000: a row of theirs that no household carries is dropped and receipted as its siblings' rows are, not refused. The ceilings are unchanged, so the HMRC amounts scope's 2-row cap, signed for seven families, now covers nine, and the counts scope's, signed for seven, now covers eight; María confirms or re-sizes them (the re-reviews of microcosm#1420, H and 4).", + "adjudication": "microcosm#1095 U3, ruled 2026-10-16 with the fifth ports PR (floor 10) and revised 2026-10-21 with #1333: a cell that rests on fewer than 10 records is no reason to leave a row out, only a measured distortion of the calibration is. The floor drops only rows no household carries, the benefit-cap amount bands join its scope and their per-row entries retire, and the figures of rows under 10 source households are withheld, as the BRMA rows' are. The thirteen entries it retired (the eleven benefit-cap amount bands and the two HMRC £500k to £1m cells) and the A/B that retired them: experiments/1095-uk-thin-row-binding-receipts.md. Extended on 2026-10-22 (María's ruling on the next policyengine-uk bump) to the HMRC SPI income-band families and the band-H council-tax rows by region, in scopes of one unit each with their own ceilings. On #1333's policyengine-uk 2.145.0 spine every HMRC £1m-and-over cell and every band-H region cell has carriers. The three band-H region entries retire and their rows bind, with their figures withheld where fewer than 10 source households carry them; the ten HMRC £1m-and-over cells, bound on arm 1, distorted their neighbours and stay held on that measurement, so the HMRC scopes cover the bands below them. Extended on 2026-10-29 in microcosm#1420, in answer to the independent review's finding 7 and pending María's confirmation, to the SPI families microcosm#1418 binds, Table 3.7's other income by total-income band and Table 3.10's self-employment bands from GBP 1 to GBP 10,000: a row of theirs that no household carries is dropped and receipted as its siblings' rows are, not refused. The ceilings are unchanged, so the HMRC amounts scope's 2-row cap, signed for seven families, now covers nine, and the counts scope's, signed for seven, now covers eight; María confirms or re-sizes them (the re-reviews of microcosm#1420, H and 4). Extended on 2026-11-01 in microcosm#1428, in answer to its independent review's finding 11, to Table 3.10's employment-income counts by self-employment band, which #1428 binds over the same bands: a row of theirs no household carries is dropped and receipted, not refused. The counts scope's 2-row cap now covers nine families.", "approved_on": "2026-10-22", "expires_on": "2027-01-08" }, @@ -174,7 +175,7 @@ { "name": "hmrc.spi.savings_interest_income.amount_by_total_income_band.band_1000000", "reason": "Measured distortion, not thin support, as for the ten HMRC £1m-and-over cells (María's rule of 2026-10-21). With the SPI donors' interest and other income rebased to SPI's 2023-24 bands (microcosm#1428), the first national built from f3cb3ddd3 fitted every other interest and other-income band, the £1m-and-over other-income row included, and missed this row outside the uk_target_fit band. Held out of the objective and measured on every evaluation. The row rests on the SPI Public Use Tape, so its figures and its neighbours' stay out of this register.", - "tracking": "microcosm#1428", + "tracking": "microcosm#1418", "approved_by": "juaristi22", "adjudication": "María's ruling of 2026-10-30 on the savings follow-up (microcosm#1428): hold the £1m-and-over savings interest amount row as a measured distortion, rebuild the national on the same spine and score it; how the rebase sits in the top bands at design weights is a follow-up.", "approved_on": "2026-10-30", diff --git a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json index 8d2b10d023..e1b51ab741 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json @@ -7760,7 +7760,7 @@ "nonnegative_outputs": [ "self_employment_gross_receipts" ], - "notes": "The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band's rate, drawn on their own person_id: a claimant's receipts are their profit plus GBP 1,000, any other trader's their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10's counts, which bind the frame's traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC's policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant's GBP 1,000 grows with the mixed income index and the raise relieves slightly less than GBP 2,000 more in later years." + "notes": "The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band's rate, drawn on their own person_id: a claimant's receipts are their profit plus GBP 1,000, any other trader's their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10's counts, which bind the frame's traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC's policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant's GBP 1,000 grows with the mixed income index while the allowance is nominal: the raise relieves GBP 1,932 more in 2027-28, falling to GBP 1,758 by 2031-32, 3.4% to 12.1% below GBP 2,000. The other traders' stored GBP 3,000 grows the same way, so an allowance above GBP 3,000 times that index relieves them from the stored expense, not from data: allowances above GBP 3,000 are mis-scored until policyengine-uk#2765 lets the stage store the claim status (microcosm#1439; María's ruling of 2026-11-01)." } ] } diff --git a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml index cf9e40e143..359943c988 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml +++ b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml @@ -6229,4 +6229,4 @@ stages: - self_employment_gross_receipts nonnegative_outputs: - self_employment_gross_receipts - notes: 'The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant''s receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band''s rate, drawn on their own person_id: a claimant''s receipts are their profit plus GBP 1,000, any other trader''s their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10''s counts, which bind the frame''s traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC''s policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant''s GBP 1,000 grows with the mixed income index and the raise relieves slightly less than GBP 2,000 more in later years.' + notes: 'The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant''s receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band''s rate, drawn on their own person_id: a claimant''s receipts are their profit plus GBP 1,000, any other trader''s their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10''s counts, which bind the frame''s traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC''s policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant''s GBP 1,000 grows with the mixed income index while the allowance is nominal: the raise relieves GBP 1,932 more in 2027-28, falling to GBP 1,758 by 2031-32, 3.4% to 12.1% below GBP 2,000. The other traders'' stored GBP 3,000 grows the same way, so an allowance above GBP 3,000 times that index relieves them from the stored expense, not from data: allowances above GBP 3,000 are mis-scored until policyengine-uk#2765 lets the stage store the claim status (microcosm#1439; María''s ruling of 2026-11-01).' diff --git a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json index c12d33f2f2..143b16c274 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json +++ b/packages/microcosm-build/src/microcosm/build/uk/uk_population_targets.json @@ -3898,7 +3898,7 @@ "category_id": "hmrc.survey_of_personal_incomes", "label": "Count with employment income by self-employment income band", "uprating_index": "hmrc.itl_2026.taxpayer_count_growth_all_bands", - "selector_note": "Uprated from the SPI 2023-24 fact to the 2025 calibration period by HMRC's projected growth of all taxpayers over all income ranges (Income Tax liabilities statistics Table 2.5), as the self-employment counts by self-employment band are. Table 3.10's employment income is income assessed under the Income Tax (Earnings and Pensions) Act 2003 and other miscellaneous income (its note 4), wider than Table 3.6's: the binding reads employment_income_annual, as Table 3.6's employment rows do, so it leaves out miscellaneous income, taxable benefits in kind, and Incapacity Benefit, contribution-based Employment and Support Allowance and Jobseeker's Allowance. The calibration binds at calendar 2025 under María's ruling of 2026-09-22 (PolicyEngine/chronicle#280 lane)." + "selector_note": "Uprated from the SPI 2023-24 fact to the 2025 calibration period by HMRC's projected growth of all taxpayers over all income ranges (Income Tax liabilities statistics Table 2.5), as the self-employment counts by self-employment band are. Table 3.10's employment income is income assessed under the Income Tax (Earnings and Pensions) Act 2003 and other miscellaneous income (its note 4), wider than Table 3.6's: the binding reads employment_income_annual, as Table 3.6's employment rows do, so it leaves out miscellaneous income and Incapacity Benefit, contribution-based Employment and Support Allowance and Jobseeker's Allowance. Taxable benefits in kind count on SPI rows, whose employment_income holds the tape's pay, benefits and termination pay (PAY + EPB + TAXTERM), and not on FRS rows, whose pay is the cash pay reported (the #1428 review, finding 13). The calibration binds at calendar 2025 under María's ruling of 2026-09-22 (PolicyEngine/chronicle#280 lane)." }, { "target_id": "hmrc.spi.dividend_income.amount_by_total_income_band", @@ -14872,7 +14872,7 @@ "value_expression": "savings_interest_income + tax_free_savings_income + other_investment_income", "from_entity": "person", "map_to": "household", - "notes": "uk-data holds the last actual flat for later years - a populace-side declaration (uk-data targets/sources/ons_savings.py:39-44 at 12a1e028afeef08d8b2d74ee03fd9de3a78b2dd3). The row measures cash interest in and outside tax-free accounts. From policyengine-uk 2.162.2 savings_interest_income is the interest outside them, which the frame stores so under the additive ISA income contract, with ISA interest apart in individual_savings_account_interest_income; the ISA part, tax_free_savings_income, adds it back (microcosm#1095, microcosm#1360). D.41 also counts interest on gilts, National Savings bonds and other securities, which the frame holds in other_investment_income: the SPI tape's other investment income on SPI rows and, from microcosm#1418, the FRS NS&I and gilt accounts on FRS rows. The engine taxes it as savings income beside savings_interest_income." + "notes": "uk-data holds the last actual flat for later years - a populace-side declaration (uk-data targets/sources/ons_savings.py:39-44 at 12a1e028afeef08d8b2d74ee03fd9de3a78b2dd3). The row measures cash interest in and outside tax-free accounts. From policyengine-uk 2.162.2 savings_interest_income is the interest outside them, which the frame stores so under the additive ISA income contract, with ISA interest apart in individual_savings_account_interest_income; the ISA part, tax_free_savings_income, adds it back (microcosm#1095, microcosm#1360). D.41 also counts interest on gilts, National Savings bonds and other securities, which the frame holds in other_investment_income: the SPI tape's other investment income on SPI rows and, from microcosm#1418, the FRS gilt accounts on FRS rows; FRS NS&I accounts are interest in savings_interest_income (microcosm#1428). The engine taxes it as savings income beside savings_interest_income." }, "axiom": { "metric_name": "ons/savings_interest_income", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_rank_transport.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_rank_transport.py index 8952863487..fa58e1ebf1 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_rank_transport.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_rank_transport.py @@ -116,10 +116,11 @@ "dividend_income": "dividend_income", "private_pension_income": "private_pension_income", "property_income": "property_income", - # The twin's own other income locates the draw (microcosm#1428): gilts, - # trust income and purchased-annuity income, the FRS sources of SPI's other - # income, so a copy's OTHERINV draw ranks with its twin's holdings instead - # of an identity uniform that ignores them. + # The twin's own other income locates the draw (microcosm#1428): its gilt + # interest, so a copy's OTHERINV draw ranks with its twin's holdings + # instead of an identity uniform that ignores them. The twin's purchased + # annuity and trust payments stay in private_pension_income, whose + # analogue they join. "other_investment_income": "other_investment_income", "gift_aid": None, "charitable_investment_gifts": None, diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py index 3a70866505..64746b11da 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_spine.py @@ -216,8 +216,8 @@ "self_employment_income", "savings_interest_income", "dividend_income", - # The tape's OTHERINV on SPI rows; FRS rows carry their own NS&I and gilt - # interest from frs_spine (microcosm#1418). + # The tape's OTHERINV on SPI rows; FRS rows carry their own gilt interest + # from frs_spine (microcosm#1418), NS&I being interest (microcosm#1428). "other_investment_income", "private_pension_income", "property_income", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_support.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_support.py index 230b776fa8..8c8d7ed86b 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_support.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_support.py @@ -138,9 +138,9 @@ # The enhanced-FRS FRS-only stage uses these six income predictors. OTHERINV # is a first-stage SPI draw and HMRC accounting component. The FRS base -# carries `other_investment_income` only from its NS&I and gilt accounts -# (microcosm#1418), not OTHERINV's concept, so it stays out of second-stage -# training. +# carries `other_investment_income` only from its gilt accounts (microcosm#1418, +# NS&I being interest since microcosm#1428), not OTHERINV's concept, so it stays +# out of second-stage training. FRS_ONLY_SPI_FILL_INCOME_PREDICTOR_COLUMNS = ( "employment_income", "self_employment_income", diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py index e37ff9d2a3..17be90b6d1 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py @@ -32,9 +32,19 @@ Until HMRC publishes claimant counts, the rates are calibrated to HMRC's policy paper on the Budget 2026 raise (about 400,000 taxpayers with a lower bill, by about GBP 380 on average) on the #1428 national b441bb5a0, at -2028-29 prices (María's choice of 2026-10-31). The engine uprates receipts -with profit, so a claimant's GBP 1,000 grows with the mixed income index, and -the raise relieves slightly less than GBP 2,000 more in later years. +2028-29 prices (María's choice of 2026-10-31). + +Two limits of encoding the claim in receipts (#1428 review, findings 2 and 8; +María's ruling of 2026-11-01 keeps them, documented, until policyengine-uk#2765 +lets the stage store the claim status itself, microcosm#1439): + +* The engine uprates receipts with profit, so a claimant's GBP 1,000 grows with + the mixed income index while the allowance is nominal: the raise relieves + GBP 1,932 more in 2027-28, falling to GBP 1,758 by 2031-32, 3.4% to 12.1% + below GBP 2,000. +* The other traders' stored GBP 3,000 grows the same way, so an allowance above + GBP 3,000 times that index relieves them from the stored expense, not from + data. Allowances above GBP 3,000 are mis-scored on this encoding. """ from __future__ import annotations diff --git a/packages/microcosm-build/tests/engine/uk/test_uk_hmrc_uprating.py b/packages/microcosm-build/tests/engine/uk/test_uk_hmrc_uprating.py index 04ee2f239a..b98f756458 100644 --- a/packages/microcosm-build/tests/engine/uk/test_uk_hmrc_uprating.py +++ b/packages/microcosm-build/tests/engine/uk/test_uk_hmrc_uprating.py @@ -122,11 +122,13 @@ def test_spi_band_targets_move_by_the_engines_dataset_projection() -> None: assert len(checked) > 1 -def test_savings_interest_targets_take_the_donors_path() -> None: - """The SPI donors reach 2025 by the history index to the frame's year, - then the engine's projection. The band targets took the same path until - they moved to the OBR's savings income forecast (microcosm#1418), so the - gap between the two is now the calibration's to close.""" +def test_the_two_leg_savings_interest_factor() -> None: + """Savings interest outside SPI Table 3.7's rows reaches 2025 by the history + index to the frame's year, then the engine's projection (microcosm#1095). + The SPI donors and Table 3.7's rows took the same path until + microcosm#1418, when they moved to the published 2023-24 bands and the + OBR's savings income growth; the earlier start below pins only the + history index's 2022-23 step (the #1428 review, finding 13).""" history = "gov.economic_assumptions.indices.ons.household_interest_income" projection = "gov.economic_assumptions.indices.obr.per_capita.gdp" @@ -137,13 +139,13 @@ def ratio(path: str, start: int, end: int) -> float: ) target_factor = ratio(history, 2023, 2024) * ratio(projection, 2024, 2025) - donor_path = ratio(history, 2022, 2024) * ratio(projection, 2024, 2025) + earlier_start = ratio(history, 2022, 2024) * ratio(projection, 2024, 2025) # 1.1920 until policyengine-uk 2.155.0 took population from the OBR's # March 2026 long-term determinants (PolicyEngine/policyengine-uk#2611), # and 1.1961 until 2.164.1's October 2026 outlook (microcosm#1415). assert target_factor == pytest.approx(1.1932, abs=1e-4) - # The donors start a year earlier and so carry one more year of history. - assert donor_path / target_factor == pytest.approx( + # A path starting a year earlier carries one more year of history. + assert earlier_start / target_factor == pytest.approx( ratio(history, 2022, 2023), rel=1e-12 ) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_fit_weight_records_roster.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_fit_weight_records_roster.py new file mode 100644 index 0000000000..2fc979ec50 --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_fit_weight_records_roster.py @@ -0,0 +1,69 @@ +"""Which UK stage transforms declare fit-weight records (microcosm#1428). + +The release-cut weights audit reads an empty list of fit-weight records as a +fitting stage that recorded nothing, and fails (``uk_weights_audit``). The ISA +subscriptions stage declared an empty tuple although it fits no model, and +every national certified after #1421 failed. This roster pins the stage +transforms that declare the hook, read from the source so it runs without +the engine: a new one must be reviewed, and either record each fit it makes +or declare nothing (the #1428 review, finding 3). +""" + +from __future__ import annotations + +import ast +from pathlib import Path + +from microcosm.build import uk_runtime + +#: The stage transforms that fit a model and record its weights. +FITTING_STAGE_TRANSFORMS = frozenset( + { + "etb_services.UKETBServicesStageTransform", + "etb_vat.UKETBVATStageTransform", + "lcfs_consumption.UKLCFSConsumptionStageTransform", + "nts_bus_travel.UKNTSBusTravelStageTransform", + "property_components.UKPropertyComponentsStageTransform", + "spi_spine.UKSPIIncomeSpineStageTransform", + "was_lisa.UKWASLISAStageTransform", + "was_wealth.UKWASWealthStageTransform", + } +) + + +def _declares_hook(node: ast.ClassDef) -> bool: + for item in node.body: + if ( + isinstance(item, ast.FunctionDef | ast.AsyncFunctionDef) + and item.name == "fit_weight_records" + ): + return True + if isinstance(item, ast.AnnAssign | ast.Assign) and "fit_weight_records" in { + target.id + for target in ( + [item.target] if isinstance(item, ast.AnnAssign) else item.targets + ) + if isinstance(target, ast.Name) + }: + return True + return False + + +def test_only_the_reviewed_stage_transforms_declare_fit_weight_records() -> None: + declared = set() + for path in sorted(Path(uk_runtime.__file__).parent.glob("*.py")): + tree = ast.parse(path.read_text(encoding="utf-8")) + for node in ast.walk(tree): + if ( + isinstance(node, ast.ClassDef) + and node.name.endswith("StageTransform") + and _declares_hook(node) + ): + declared.add(f"{path.stem}.{node.name}") + assert declared == FITTING_STAGE_TRANSFORMS + + +def test_the_isa_subscriptions_stage_declares_nothing() -> None: + assert "isa_subscriptions.UKISASubscriptionsStageTransform" not in ( + FITTING_STAGE_TRANSFORMS + ) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_pension_age_benefit_targets.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_pension_age_benefit_targets.py index d02836f8c0..35bcfb49b4 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_pension_age_benefit_targets.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_pension_age_benefit_targets.py @@ -160,3 +160,50 @@ def test_winter_fuel_diagnostic_carries_the_published_count() -> None: assert metadata[f"{prefix}_status"] == "available" assert float(metadata[f"{prefix}_value_count"]) == 11_003_237 assert metadata[f"{prefix}_ledger_geography_id"] == "K04000001" + + +def test_income_based_jsa_spending_reads_the_dwp_calendar_window() -> None: + # DWP's income-based JSA line beside OBR's total JSA, so the solve meets + # OBR's total on contributory claimants (microcosm#1428; its review's + # finding 12 asked for this pin, as the Housing Benefit row has). + target = _targets()["dwp.jsa.amount_income_based"] + selector = target["ledger_selector"] + assert selector["source_concept"] == "dwp.benefit_expenditure_amount" + assert selector["dimension_values"] == { + "benefit_forecast_line": ( + "unemployment_benefits__jobseekers_allowance__income_based" + ) + } + assert target["value_operation"] == "calendar_year_window" + assert selector["source_measure_id_by_opening_year"] == { + "2024": "expenditure_2024", + "2025": "expenditure_2025", + } + assert target["assertion_policy"] == "allow_source_projection" + assert target["family"] == "dwp_benefit_expenditure" + binding = target["bindings"]["policyengine"] + assert binding["value_variable"] == "jsa_income" + assert binding["from_entity"] == "benunit" + assert "filters" not in binding + # Great Britain, the scope of DWP's line. + (condition,) = binding["household_conditions"] + assert condition["variable"] == "region" + assert "NORTHERN_IRELAND" not in condition["value"] + + +def test_the_table_3_10_employment_counts_read_annual_pay_by_profit_band() -> None: + # Table 3.10's individuals with employment income over the self-employment + # bands from GBP 1 to GBP 10,000 (microcosm#1428; review finding 12). + target = _targets()[ + "hmrc.spi.employment_income.count_by_self_employment_income_band" + ] + binding = target["bindings"]["policyengine"] + assert binding["value_variable"] == "person_count" + assert binding["groupby_variable"] == ( + "self_employment_income_after_loss_relief_annual" + ) + assert binding["filters"] == [ + {"variable": "employment_income_annual", "operator": "!=", "value": 0} + ] + assert binding["band_upper_bound"] == 10_000 + assert binding["band_upper_bound_inclusive"] is False diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_support_floor.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_support_floor.py index 734f040c46..4209f87b3b 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_support_floor.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_support_floor.py @@ -360,10 +360,12 @@ def test_the_packaged_floor_drops_only_unsupported_bands_and_binds_thin_ones(): }, # Extended on María's ruling of 2026-10-22 (the next policyengine-uk # bump), then to the SPI families microcosm#1418 binds: Table 3.7's - # other income and Table 3.10's self-employment bands. + # other income and Table 3.10's self-employment bands, and to the + # employment counts over those bands microcosm#1428 binds. "hmrc_spi_income_band_counts": { *(f"hmrc.spi.{family}.count_by_total_income_band" for family in spi), "hmrc.spi.self_employment_income.count_by_self_employment_income_band", + "hmrc.spi.employment_income.count_by_self_employment_income_band", }, "hmrc_spi_income_band_amounts": { *(f"hmrc.spi.{family}.amount_by_total_income_band" for family in spi), diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py index 7e1ecd2013..9cbe9332e8 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py @@ -11,6 +11,7 @@ from microcosm.build.country_spec import load_country_spec from microcosm.build.stochastic_assignment import stable_identity_uniforms from microcosm.build.uk_runtime.national_frame import uk_national_frame +from microcosm.build.uk_runtime.receipt_counts import rounded_count, small_cell_share from microcosm.build.uk_runtime.trading_allowance_receipts import ( TRADING_ALLOWANCE_RECEIPTS_OUTPUT, TRADING_ALLOWANCE_RECEIPTS_STAGE_NAME, @@ -118,11 +119,12 @@ def test_the_receipt_rounds_counts_and_bands_shares() -> None: assert [band["rate"] for band in evidence["bands"]] == [0.64, 0.32, 0.0] assert all(band["support"] == "30+" for band in evidence["bands"]) assert evidence["bands"][0]["weighted_traders"] == pytest.approx(100.0) - # Fewer than ten source households behind a band print "<10". + # Fewer than ten source households behind a band print the small-cell + # label, whatever the rounding rules make it (microcosm#1428 review). transform(_frame(np.asarray([500.0] * 5))) small = transform.checkpoint_metadata()["evidence"] - assert small["traders"] == "<10" - assert small["bands"][0]["weighted_traders"] == "<10" + assert small["traders"] == rounded_count(5) + assert small["bands"][0]["weighted_traders"] == small_cell_share(10.0, 5) def test_the_stage_refuses_drifted_parameters_and_a_second_writer() -> None: From 59ef8ecee455aa4ea72c024029ee011ef5863786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sun, 1 Nov 2026 16:11:27 +0000 Subject: [PATCH 48/67] Regenerate the H2 fixture and the coverage manifest The synthetic H2 fixture's pension rows now carry PENTYPE, so the spine fixture exercises the annuity and trust routing; the spine and the coverage manifest's source digests follow the two commits before. Co-Authored-By: Claude Opus 5.5 --- .../uk/release_input_coverage_manifest.json | 48 +-- .../sources/cgt_asset_type_facts.json | 56 +-- .../parity/uk_spine/sources/fixture.json | 17 +- .../uk_spine/sources/frs_raw/pension.tab | 272 +++++++-------- .../parity/uk_spine/sources/person.csv | 326 +++++++++--------- .../parity/uk_spine/sources/schema.json | 1 + .../fixtures/parity/uk_spine/uk_spine.json | 2 +- 7 files changed, 363 insertions(+), 359 deletions(-) diff --git a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json index 85806b2a46..61b10ca78b 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json +++ b/packages/microcosm-build/src/microcosm/build/uk/release_input_coverage_manifest.json @@ -472,7 +472,7 @@ "required_mass_change_reason": "Capital-gains incidence anchor moves the mass of non-liable clone households back to their paired originals until the sub-exempt and loss-making clone mass match the Advani-Summers reporter composition at the redrawn liable mass; every pair's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "Advani and Summers (2020), Capital Gains and UK Inequality, CAGE Working Paper 465", "survey": "Family Resources Survey 2024-25, SPI synthetic support, the HMRC Table 3 redrawn gains on the spine and Advani-Summers capital-gains incidence" @@ -495,7 +495,7 @@ "capital_gains" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "Advani and Summers (2020), Capital Gains and UK Inequality, CAGE Working Paper 465", "survey": "Family Resources Survey 2024-25, SPI synthetic support, and Advani-Summers capital-gains incidence" @@ -518,7 +518,7 @@ "required_mass_change_reason": "Capital-gains residential split divides every household carrying liable gainers into arms weighted by the solved residential probabilities, one arm per subset of residential gainers; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "https://www.gov.uk/government/statistics/capital-gains-tax-statistics", "survey": "HMRC Capital Gains Tax statistics 2026 release, Table 8 (UK residential property disposals, 2024-25, administrative) on the amounts the Table 3 redraw placed" @@ -540,7 +540,7 @@ "required_mass_change_reason": "Capital-gains support split divides the wealthiest households of each HMRC Table 3 income band into light copies at equal weight; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "HMRC Capital Gains Tax statistics, July 2026 release, Table 3 for 2024-25, via the vendored conditioning facts", "survey": "Family Resources Survey 2024-25, SPI synthetic support and HMRC Capital Gains Tax statistics Table 3 (2024-25 individuals by size of gain and taxable income)" @@ -569,7 +569,7 @@ "required_mass_change_reason": "ETB public-services imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "UK Data Service SN 8856 Effects of Taxes and Benefits household tab, DfT rail fare index, and public NHS activity/cost table.", "survey": "Effects of Taxes and Benefits 1977-2024 and NHS age-gender public table" @@ -589,7 +589,7 @@ "required_mass_change_reason": "ETB VAT expenditure-rate imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "UK Data Service SN 8856 Effects of Taxes and Benefits household tab and cited VAT anchor resource.", "survey": "Effects of Taxes and Benefits 1977-2024" @@ -611,7 +611,7 @@ "required_mass_change_reason": "High-value home support divides every owner household in the top value stratum of its region into light copies at equal weight; every household's mass and the total household mass are conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "Microcosm structural operator (microcosm#1240 fix 1); no publisher input", "survey": "Family Resources Survey 2024-25 and SPI synthetic support, after the WAS wealth draw and the regional property uprating" @@ -632,7 +632,7 @@ "required_mass_change_reason": "CGT asset-type assignment on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "https://www.gov.uk/government/statistics/capital-gains-tax-statistics", "survey": "HMRC Capital Gains Tax statistics 2026 release, Table 8 (UK residential property disposals, 2024-25, administrative), Table 4.1 (individuals claiming Business Asset Disposal Relief or Investors' Relief by band of qualifying gain, 2024-25, administrative) and Table 7 (disposals, proceeds and gains by asset type, 2023-24, sample-based), vendored from the pinned Chronicle feed" @@ -656,7 +656,7 @@ "capital_gains" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "conditioning_resource": "hmrc_cgt_conditioning_facts.json", "conditioning_resource_sha256": "f7425784231e1f6aa657d0f26fc02591d9523600eb12fce5d35becf5dabf7569", @@ -746,7 +746,7 @@ "full_frs_tei_band_unavailable" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "hmrc_surface": "2023-24", "mapped_build_period": "2024", @@ -773,7 +773,7 @@ "required_mass_change_reason": "ISA subscriptions per adult from HMRC's ISA tables on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "HMRC Individual Savings Account statistics Tables 9.4, 9.6 and 9.7 to 9.9, the cash ISA limit reduction impact note and Lifetime ISA Table 1a, via the vendored facts; Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed round-8 person and household tabs (interviews April 2020 to March 2022, Great Britain).", "survey": "HMRC Annual savings statistics (September 2026 release); Wealth and Assets Survey round 8" @@ -838,7 +838,7 @@ "required_mass_change_reason": "LCFS consumption imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "UK Data Service SN 9603 Living Costs and Food Survey 2024-25 (2nd edition) household/person tabs and the vendored Chronicle facts for NEED 2024 mean kWh, DESNZ Energy Trends and QEP average prices paid for calendar 2024, road-fuel outturn (DESNZ, HMRC, ONS Consumer Trends) and road fuel by vehicle type (DESNZ), ONS Consumer Trends household spending by COICOP division, the DfT VEH1103 licensed-car stock, NTS bus use, and the DfT and devolved bus finance tables and fares indices.", "survey": "Living Costs and Food Survey 2024-25" @@ -864,7 +864,7 @@ "required_mass_change_reason": "NTS bus-travel imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "Department for Transport National Travel Survey, UK Data Service SN 5340 (End User Licence, 19th edition, November 2025), DOI 10.5255/UKDA-SN-5340-19; local licensed tab files (household, individual, trip); England residents only from 2013.", "survey": "National Travel Survey 2002-2024" @@ -884,7 +884,7 @@ "required_mass_change_reason": "Private-school attendance stored on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "policyengine-uk attends_private_school (the gov.simulation.private_school_vat attendance rates and factor), evaluated by the pinned engine", "survey": "policyengine-uk private-school attendance imputation, stored at the spine's weights" @@ -907,7 +907,7 @@ "property_finance_costs" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "https://www.gov.uk/government/statistics/property-rental-income-statistics", "survey": "Survey of Personal Incomes Public Use Tape 2022-23 and HMRC Property Rental Income Statistics 2026 (tax year 2024-25)" @@ -928,7 +928,7 @@ "required_mass_change_reason": "Annual property purchases imputed on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "https://www.gov.uk/government/statistics/uk-stamp-tax-statistics", "survey": "HMRC Annual Stamp Tax Statistics 2024 to 2025 (corrected 11 March 2026), Tables 6b, 8a and 8b" @@ -951,7 +951,7 @@ "property_wealth" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "uk/high_value_home_value_knots.json, built by tools/build_uk_high_value_home_stock.py from PolicyEngine/chronicle#343's registrations", "survey": "HM Land Registry Price Paid latest sales uprated with the UK House Price Index, owner-weighted by region (the dense value node's knots, region level)" @@ -975,7 +975,7 @@ "non_residential_property_value" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "MHCLG dwellings and the UK House Price Index regional average price averaged over the twelve months of calendar 2024 from the July 2026 full file, the frame's valuation basis, so the engine's annual uprating from 2024 projects the value once (microcosm#1240 fix 5).", "survey": "Public regional property reference" @@ -1003,7 +1003,7 @@ "employment_income" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "HMRC, Salary sacrifice reform for pension contributions effective from 6 April 2029", "survey": "Family Resources Survey 2024-25 salary-sacrifice respondents and HMRC salary-sacrifice reform analysis" @@ -1036,7 +1036,7 @@ "household_source_id" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "Reserved SPI support households for the HMRC Table 2.5 total-income bands from GBP 200,000, stacked at the published band taxpayer count over the donors per band (PolicyEngine/chronicle#280 lane).", "survey": "Survey of Personal Incomes Public Use Tape 2022-23 and HMRC Income Tax liabilities statistics July 2026 Table 2.5" @@ -1058,7 +1058,7 @@ "student_loan_plan" ], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "Explore Education Statistics Table 6a, Higher education total", "survey": "Family Resources Survey 2024-25 and Student Loans Company borrower forecasts for England" @@ -1078,7 +1078,7 @@ "required_mass_change_reason": "Self-employed gross receipts stored on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "self_employment_income after the SPI income stage; HMRC's published gainers of the raise to GBP 3,000, about 400,000 taxpayers with a lower bill by about GBP 380 on average", "survey": "The self-employed's own profit on the final spine, and HMRC's policy paper on the Budget 2026 trading allowance raise (calibration)" @@ -1100,7 +1100,7 @@ "required_mass_change_reason": "WAS Lifetime ISA imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed round-8 person and household tabs (interviews April 2020 to March 2022, Great Britain).", "survey": "Wealth and Assets Survey round 8" @@ -1139,7 +1139,7 @@ "required_mass_change_reason": "WAS wealth imputation on the source spine: household weights pass through unchanged and total household mass is conserved.", "rewrites": [], "source_manifest": "source_stages.json", - "source_manifest_sha256": "1f7b3d0282aa1bfe6f1354cee6f426f42d611d84bebd55f880350aa1e9622172", + "source_manifest_sha256": "da210d22e9948686e1a3afb4d459c1adb37028abf0e849f98f77e969e3b93197", "source_vintages": { "source": "Office for National Statistics Wealth and Assets Survey, UK Data Service SN 7215, DOI 10.5255/UKDA-SN-7215-20; local licensed 2006-22 household tab.", "survey": "Wealth and Assets Survey round 8" diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/cgt_asset_type_facts.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/cgt_asset_type_facts.json index 7b8692e736..bfa6eaad6e 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/cgt_asset_type_facts.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/cgt_asset_type_facts.json @@ -2,70 +2,70 @@ "resource": "synthetic-cgt-asset-type.json", "resource_sha256": "synthetic", "source_commit": "synthetic", - "table4_all_gains": 6537217.9138617115, + "table4_all_gains": 6567779.158835469, "table4_all_tax": 0.0, - "table4_all_taxpayers": 15.639298233942167, + "table4_all_taxpayers": 15.645847684894523, "table4_bands": [ { - "gains": 6001.797187846176, + "gains": 6262.290969943808, "lower_bound": 0, "tax": null, - "taxpayers": 1.3616054229369756, + "taxpayers": 1.4320098873010005, "upper_bound": 10000 }, { - "gains": 25136.571750228803, + "gains": 24063.64355992752, "lower_bound": 10000, "tax": null, - "taxpayers": 1.53256883202459, + "taxpayers": 1.4653704559490115, "upper_bound": 25000 }, { - "gains": 83435.91898678923, + "gains": 81614.98942021298, "lower_bound": 25000, "tax": null, - "taxpayers": 2.3018849031280015, + "taxpayers": 2.2495857610440857, "upper_bound": 50000 }, { - "gains": 130450.89739194364, + "gains": 134940.71583113162, "lower_bound": 50000, "tax": null, - "taxpayers": 1.8761026572186568, + "taxpayers": 1.9395983558176588, "upper_bound": 100000 }, { - "gains": 147092.18965477377, + "gains": 142317.70165223547, "lower_bound": 100000, "tax": null, - "taxpayers": 0.9364610563359856, + "taxpayers": 0.9050403178705543, "upper_bound": 250000 }, { - "gains": 631035.2756424223, + "gains": 622123.2583176545, "lower_bound": 250000, "tax": null, - "taxpayers": 1.7510162468271642, + "taxpayers": 1.725490737653384, "upper_bound": 500000 }, { - "gains": 833292.512966157, + "gains": 848903.2550118314, "lower_bound": 500000, "tax": null, - "taxpayers": 1.1988863651892423, + "taxpayers": 1.2211988651862962, "upper_bound": 1000000 }, { - "gains": 4680772.750281551, + "gains": 4707553.304072532, "lower_bound": 1000000, "tax": null, - "taxpayers": 4.680772750281551, + "taxpayers": 4.7075533040725315, "upper_bound": null } ], - "table4_individuals_gains": 6537217.9138617115, + "table4_individuals_gains": 6567779.158835469, "table4_individuals_tax": 0.0, - "table4_individuals_taxpayers": 15.639298233942167, + "table4_individuals_taxpayers": 15.645847684894523, "table4_trusts_gains": 0.0, "table4_trusts_tax": 0.0, "table7_total_disposals": 2743095.2380952383, @@ -114,12 +114,12 @@ "proceeds": 9000000000.0 } ], - "table8a_disposals_total": 29.49124809829094, - "table8a_gains_total": 37198541.4845692, - "table8a_tax_total": 7439708.29691384, - "table8a_taxpayers_total": 26.810225543900852, - "table8b_all_gains": 37198541.4845692, - "table8b_all_taxpayers": 26.810225543900852, - "table8b_individuals_gains": 37198541.4845692, - "table8b_individuals_taxpayers": 26.810225543900852 + "table8a_disposals_total": 29.50359849151538, + "table8a_gains_total": 37385992.48877222, + "table8a_tax_total": 7477198.497754444, + "table8a_taxpayers_total": 26.82145317410489, + "table8b_all_gains": 37385992.48877222, + "table8b_all_taxpayers": 26.82145317410489, + "table8b_individuals_gains": 37385992.48877222, + "table8b_individuals_taxpayers": 26.82145317410489 } diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json index a4efd56587..86a442c812 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/fixture.json @@ -2249,8 +2249,8 @@ "locator": "pension.tab", "role": "frs_table", "runtime_sha256_required": true, - "sha256": "7090be19cac198c6fc4545266764d267f9e39073b83c5411d0615eda2ac47e9c", - "size_bytes": 3597, + "sha256": "79ba6767e1300e1bb5d3de808706cb4ee1d86e4694a26e9fd94958e821858f33", + "size_bytes": 3875, "table": "pension", "vintage": "synthetic-h2" } @@ -2268,6 +2268,7 @@ "loss_relief", "ni_class_4_losses_brought_forward", "private_pension_income", + "annuity_and_trust_income", "individual_savings_account_interest_income", "savings_interest_income", "dividend_income", @@ -2365,6 +2366,7 @@ "loss_relief", "ni_class_4_losses_brought_forward", "private_pension_income", + "annuity_and_trust_income", "individual_savings_account_interest_income", "savings_interest_income", "dividend_income", @@ -3061,7 +3063,7 @@ "hmrc_spi_total_investment_income", "hmrc_spi_assessable_income" ], - "notes": "Runs the SPI-trained income QRFs on the raw-spine support channel, drawing for its claimants and partners aged 16 and over so dependants aged 16 to 19 keep their FRS twin's values (uk-data#504, microcosm#1095), initializes FRS charity columns to zero, trains FRS-only stage 2 on the FRS rows' reported values, flags the rows it drew (person_is_spi_income_recipient) so later stages tell tape-concept rows from FRS-concept ones without re-deriving the recipient rule (microcosm#840), leaves every FRS-channel income as reported (no base-channel redraw of dividends; uk-data#498, microcosm#1095), and emits a sidecar-only 208-fact replay report for the spine path. Stage 2 also draws trading_loss, the year's trading loss the tape does not carry, from the FRS rows (uk-data#528), and a drawn row whose self_employment_income is positive keeps no loss, so profit and loss never both hold an amount, as on the FRS rows (microcosm#1095). The chain draws self_employment_income net of the tape's losses brought forward (LOSSBF), as the tape holds profits, and last of all, so no earlier draw moves, the year's profit before them and the losses. After the FRS-only fill and the HMRC aggregates the stage moves the losses out of the profit into loss_relief and ni_class_4_losses_brought_forward, the inputs policyengine-uk relieves them against (income tax under ITA 2007 s.83, Class 4 under SSCBA 1992 Sch 2 para 3), so Universal Credit, HBAI and market income read the year's profit; where the drawn net profit is positive the losses are its gap to the year's profit and where it is zero they are at least that profit, so the profit after the relief is the drawn net profit on every row, which the HMRC aggregates and the HMRC self-employment rows read (uk-data#528, microcosm#1095). The engine carries both losses into each projected year at their nominal value while the profit grows with its index. Stage 2 draws the six owner-manager inputs last, the five flags as 0 or 1 and then the income share, so each follows the drawn incomes; the root stage's rules then hold on the drawn rows (an owner works in the company, its other inputs need an owner, and a company carries on a trade or a property business, never both), since the tape carries no director answers (microcosm#1095). A drawn row's annual income descriptors follow its drawn incomes. The tape records the tax year's income, so its pay, profit and private pension shares are 1, and its contributory benefits, stage-2 draws on the current concept with no spell of their own, take share 1 too. It keeps its twin's other-spell pay only where it drew no pay, and its twin's ceased self-employment only where it drew no profit, since the bridge draws a record without pay for a twin who left a job in the year. An undrawn copy keeps its twin's descriptors with its twin's incomes.", + "notes": "Runs the SPI-trained income QRFs on the raw-spine support channel, drawing for its claimants and partners aged 16 and over so dependants aged 16 to 19 keep their FRS twin's values (uk-data#504, microcosm#1095), initializes FRS charity columns to zero, trains FRS-only stage 2 on the FRS rows' reported values, flags the rows it drew (person_is_spi_income_recipient) so later stages tell tape-concept rows from FRS-concept ones without re-deriving the recipient rule (microcosm#840), leaves every FRS-channel income as reported (no base-channel redraw of dividends; uk-data#498, microcosm#1095), and emits a sidecar-only 208-fact replay report for the spine path. Stage 2 also draws trading_loss, the year's trading loss the tape does not carry, from the FRS rows (uk-data#528), and a drawn row whose self_employment_income is positive keeps no loss, so profit and loss never both hold an amount, as on the FRS rows (microcosm#1095). The chain draws self_employment_income net of the tape's losses brought forward (LOSSBF), as the tape holds profits, and last of all, so no earlier draw moves, the year's profit before them and the losses. After the FRS-only fill and the HMRC aggregates the stage moves the losses out of the profit into loss_relief and ni_class_4_losses_brought_forward, the inputs policyengine-uk relieves them against (income tax under ITA 2007 s.83, Class 4 under SSCBA 1992 Sch 2 para 3), so Universal Credit, HBAI and market income read the year's profit; where the drawn net profit is positive the losses are its gap to the year's profit and where it is zero they are at least that profit, so the profit after the relief is the drawn net profit on every row, which the HMRC aggregates and the HMRC self-employment rows read (uk-data#528, microcosm#1095). The engine carries both losses into each projected year at their nominal value while the profit grows with its index. Stage 2 draws the six owner-manager inputs last, the five flags as 0 or 1 and then the income share, so each follows the drawn incomes; the root stage's rules then hold on the drawn rows (an owner works in the company, its other inputs need an owner, and a company carries on a trade or a property business, never both), since the tape carries no director answers (microcosm#1095). A drawn row's annual income descriptors follow its drawn incomes. The tape records the tax year's income, so its pay, profit and private pension shares are 1, and its contributory benefits, stage-2 draws on the current concept with no spell of their own, take share 1 too. It keeps its twin's other-spell pay only where it drew no pay, and its twin's ceased self-employment only where it drew no profit, since the bridge draws a record without pay for a twin who left a job in the year. An undrawn copy keeps its twin's descriptors with its twin's incomes. A drawn row's annuity and trust descriptor is zero, since the tape's private pension excludes those payments and books them as other income (microcosm#1428).", "operations": [ { "artifact_roles": [ @@ -3862,7 +3864,8 @@ "self_employment_income_annual_share", "self_employment_income_other_spells", "private_pension_income_annual_share", - "contributory_benefits_annual_share" + "contributory_benefits_annual_share", + "annuity_and_trust_income" ], "source": "https://assets.publishing.service.gov.uk/media/69f1f12d2fae53a03709682f/Collated_Tables_3_1_to_3_11_2324.ods", "stage": "hmrc_spi_income_spine", @@ -6794,7 +6797,7 @@ "nonnegative_outputs": [ "self_employment_gross_receipts" ], - "notes": "The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band's rate, drawn on their own person_id: a claimant's receipts are their profit plus GBP 1,000, any other trader's their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10's counts, which bind the frame's traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC's policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant's GBP 1,000 grows with the mixed income index and the raise relieves slightly less than GBP 2,000 more in later years.", + "notes": "The last spine stage (microcosm#1428). policyengine-uk applies the trading allowance against self_employment_gross_receipts, which neither the FRS nor the SPI tape records; without receipts a rise in the allowance relieves only profits up to the new allowance, in full, and misses its main base, the traders who already claim the GBP 1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus GBP 1,000 exactly. Each trader with a positive profit is flagged a claimant at their profit band's rate, drawn on their own person_id: a claimant's receipts are their profit plus GBP 1,000, any other trader's their profit plus GBP 3,000 (expenses at the raised allowance, so the raise does not relieve them; the costing books switchers as behaviour), and a person with no positive profit keeps zero, which the engine reads as unknown. Every trader with a positive profit is treated as filing, as SPI Table 3.10's counts, which bind the frame's traders, are of filers, so a profit of GBP 1,000 or less is now taxed where the engine used to relieve it in full. The rates are calibrated to HMRC's policy paper until HMRC publishes claimant counts. The engine uprates receipts with profit, so a claimant's GBP 1,000 grows with the mixed income index while the allowance is nominal: the raise relieves GBP 1,932 more in 2027-28, falling to GBP 1,758 by 2031-32, 3.4% to 12.1% below GBP 2,000. The other traders' stored GBP 3,000 grows the same way, so an allowance above GBP 3,000 times that index relieves them from the stored expense, not from data: allowances above GBP 3,000 are mis-scored until policyengine-uk#2765 lets the stage store the claim status (microcosm#1439; Mar\u00eda's ruling of 2026-11-01).", "operations": [ { "calibration": "HMRC's policy paper on the Budget 2026 trading allowance raise: about 400,000 taxpayers with a lower bill, by about GBP 380 on average, on the microcosm#1428 national b441bb5a0's final weights at 2028-29 prices, until HMRC publishes claimant counts (Mar\u00eda's choice of 2026-10-31)", @@ -7183,9 +7186,9 @@ "minimum_pool_sources": 30, "not_drawn": "keeps its stored flag, except a unit keeping income-related ESA, which claims none", "output": "would_claim_uc", - "pooling": "adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) joins the adjacent pool with more room for its gap, the lower on a tie, until every pool can meet its count or the family type is one pool", + "pooling": "adjacent bands within a family type, lowest first, until the drawn units rest on minimum_pool_sources distinct household_source_id values; a short last pool joins the one before it. Then, lowest first, a pool that cannot meet DWP's count (its undrawn entitled units' expected claims exceed the count, or the count exceeds them plus the weight of every drawn unit) is held at the nearer of those ends and passes its gap to the other pools, nearest first, the one with more room first at equal distance and the lower on a tie, each taking what its room allows; a gap no pool can take leaves the family type unreachable", "population": "uc_age_eligible", - "residual_rate": "(T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the pool's bands, D the weight of the pool's drawn units and F the expected claims of its other entitled units, over Great Britain at the stage's household weights; realized by the drawn units claiming in the order of their uniform until their weight is nearest T - F, and applied at that uniform to Northern Ireland's drawn units too", + "residual_rate": "(T - F) / D, clipped to [0, 1]; T DWP's calendar-2025 mean count of the pool's bands after any gaps passed to or from it, D the weight of the pool's drawn units and F the expected claims of its other entitled units, over Great Britain at the stage's household weights; realized by the drawn units claiming in the order of their uniform until their weight is nearest T - F, and applied at that uniform to Northern Ireland's drawn units too", "seed": 0, "solve_scope": "great_britain", "targets": "DWP Stat-Xplore Households on Universal Credit by family type and monthly award band, mean of April to December 2025", diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/frs_raw/pension.tab b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/frs_raw/pension.tab index 7b8df74533..da8ce3e7ce 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/frs_raw/pension.tab +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/frs_raw/pension.tab @@ -1,136 +1,136 @@ -SERNUM BENUNIT PERSON PENPAY PTAMT PTINC POAMT POINC PENOTH -1 1 1 10.0 2.0 2 3.0 2 0 -2 1 1 10.0 2.0 2 3.0 2 0 -3 1 1 10.0 2.0 2 3.0 2 0 -4 1 1 10.0 2.0 2 3.0 2 0 -5 1 1 10.0 2.0 2 3.0 2 0 -6 1 1 10.0 2.0 2 3.0 2 0 -7 1 1 10.0 2.0 2 3.0 2 0 -8 1 1 10.0 2.0 2 3.0 2 0 -9 1 1 10.0 2.0 2 3.0 2 0 -10 1 1 10.0 2.0 2 3.0 2 0 -11 1 1 10.0 2.0 2 3.0 2 0 -12 1 1 10.0 2.0 2 3.0 2 0 -13 1 1 10.0 2.0 2 3.0 2 0 -14 1 1 10.0 2.0 2 3.0 2 0 -15 1 1 10.0 2.0 2 3.0 2 0 -16 1 1 10.0 2.0 2 3.0 2 0 -17 1 1 10.0 2.0 2 3.0 2 0 -18 1 1 10.0 2.0 2 3.0 2 0 -19 1 1 10.0 2.0 2 3.0 2 0 -20 1 1 10.0 2.0 2 3.0 2 0 -21 1 1 10.0 2.0 2 3.0 2 0 -22 1 1 10.0 2.0 2 3.0 2 0 -23 1 1 10.0 2.0 2 3.0 2 0 -24 1 1 10.0 2.0 2 3.0 2 0 -25 1 1 10.0 2.0 2 3.0 2 0 -26 1 1 10.0 2.0 2 3.0 2 0 -27 1 1 10.0 2.0 2 3.0 2 0 -28 1 1 10.0 2.0 2 3.0 2 0 -29 1 1 10.0 2.0 2 3.0 2 0 -30 1 1 10.0 2.0 2 3.0 2 0 -31 1 1 10.0 2.0 2 3.0 2 0 -32 1 1 10.0 2.0 2 3.0 2 0 -33 1 1 10.0 2.0 2 3.0 2 0 -34 1 1 10.0 2.0 2 3.0 2 0 -35 1 1 10.0 2.0 2 3.0 2 0 -36 1 1 10.0 2.0 2 3.0 2 0 -37 1 1 10.0 2.0 2 3.0 2 0 -38 1 1 10.0 2.0 2 3.0 2 0 -39 1 1 10.0 2.0 2 3.0 2 0 -40 1 1 10.0 2.0 2 3.0 2 0 -41 1 1 10.0 2.0 2 3.0 2 0 -42 1 1 10.0 2.0 2 3.0 2 0 -43 1 1 10.0 2.0 2 3.0 2 0 -44 1 1 10.0 2.0 2 3.0 2 0 -45 1 1 10.0 2.0 2 3.0 2 0 -46 1 1 10.0 2.0 2 3.0 2 0 -47 1 1 10.0 2.0 2 3.0 2 0 -48 1 1 10.0 2.0 2 3.0 2 0 -49 1 1 10.0 2.0 2 3.0 2 0 -50 1 1 10.0 2.0 2 3.0 2 0 -51 1 1 10.0 2.0 2 3.0 2 0 -52 1 1 10.0 2.0 2 3.0 2 0 -53 1 1 10.0 2.0 2 3.0 2 0 -54 1 1 10.0 2.0 2 3.0 2 0 -55 1 1 10.0 2.0 2 3.0 2 0 -56 1 1 10.0 2.0 2 3.0 2 0 -57 1 1 10.0 2.0 2 3.0 2 0 -58 1 1 10.0 2.0 2 3.0 2 0 -59 1 1 10.0 2.0 2 3.0 2 0 -60 1 1 10.0 2.0 2 3.0 2 0 -61 1 1 10.0 2.0 2 3.0 2 0 -62 1 1 10.0 2.0 2 3.0 2 0 -63 1 1 10.0 2.0 2 3.0 2 0 -64 1 1 10.0 2.0 2 3.0 2 0 -65 1 1 10.0 2.0 2 3.0 2 0 -66 1 1 10.0 2.0 2 3.0 2 0 -67 1 1 10.0 2.0 2 3.0 2 0 -68 1 1 10.0 2.0 2 3.0 2 0 -69 1 1 10.0 2.0 2 3.0 2 0 -70 1 1 10.0 2.0 2 3.0 2 0 -71 1 1 10.0 2.0 2 3.0 2 0 -72 1 1 10.0 2.0 2 3.0 2 0 -73 1 1 10.0 2.0 2 3.0 2 0 -74 1 1 10.0 2.0 2 3.0 2 0 -75 1 1 10.0 2.0 2 3.0 2 0 -76 1 1 10.0 2.0 2 3.0 2 0 -77 1 1 10.0 2.0 2 3.0 2 0 -78 1 1 10.0 2.0 2 3.0 2 0 -79 1 1 10.0 2.0 2 3.0 2 0 -80 1 1 10.0 2.0 2 3.0 2 0 -81 1 1 10.0 2.0 2 3.0 2 0 -82 1 1 10.0 2.0 2 3.0 2 0 -83 1 1 10.0 2.0 2 3.0 2 0 -84 1 1 10.0 2.0 2 3.0 2 0 -85 1 1 10.0 2.0 2 3.0 2 0 -86 1 1 10.0 2.0 2 3.0 2 0 -87 1 1 10.0 2.0 2 3.0 2 0 -88 1 1 10.0 2.0 2 3.0 2 0 -89 1 1 10.0 2.0 2 3.0 2 0 -90 1 1 10.0 2.0 2 3.0 2 0 -91 1 1 10.0 2.0 2 3.0 2 0 -92 1 1 10.0 2.0 2 3.0 2 0 -93 1 1 10.0 2.0 2 3.0 2 0 -94 1 1 10.0 2.0 2 3.0 2 0 -95 1 1 10.0 2.0 2 3.0 2 0 -96 1 1 10.0 2.0 2 3.0 2 0 -97 1 1 10.0 2.0 2 3.0 2 0 -98 1 1 10.0 2.0 2 3.0 2 0 -99 1 1 10.0 2.0 2 3.0 2 0 -100 1 1 10.0 2.0 2 3.0 2 0 -101 1 1 10.0 2.0 2 3.0 2 0 -102 1 1 10.0 2.0 2 3.0 2 0 -103 1 1 10.0 2.0 2 3.0 2 0 -104 1 1 10.0 2.0 2 3.0 2 0 -105 1 1 10.0 2.0 2 3.0 2 0 -106 1 1 10.0 2.0 2 3.0 2 0 -107 1 1 10.0 2.0 2 3.0 2 0 -108 1 1 10.0 2.0 2 3.0 2 0 -109 1 1 10.0 2.0 2 3.0 2 0 -110 1 1 10.0 2.0 2 3.0 2 0 -111 1 1 10.0 2.0 2 3.0 2 0 -112 1 1 10.0 2.0 2 3.0 2 0 -113 1 1 10.0 2.0 2 3.0 2 0 -114 1 1 10.0 2.0 2 3.0 2 0 -115 1 1 10.0 2.0 2 3.0 2 0 -116 1 1 10.0 2.0 2 3.0 2 0 -117 1 1 10.0 2.0 2 3.0 2 0 -118 1 1 10.0 2.0 2 3.0 2 0 -119 1 1 10.0 2.0 2 3.0 2 0 -120 1 1 10.0 2.0 2 3.0 2 0 -121 1 1 10.0 2.0 2 3.0 2 0 -122 1 1 10.0 2.0 2 3.0 2 0 -123 1 1 10.0 2.0 2 3.0 2 0 -124 1 1 10.0 2.0 2 3.0 2 0 -125 1 1 10.0 2.0 2 3.0 2 0 -126 1 1 10.0 2.0 2 3.0 2 0 -127 1 1 10.0 2.0 2 3.0 2 0 -128 1 1 10.0 2.0 2 3.0 2 0 -129 1 1 10.0 2.0 2 3.0 2 0 -130 1 1 10.0 2.0 2 3.0 2 0 -131 1 1 10.0 2.0 2 3.0 2 0 -132 1 1 10.0 2.0 2 3.0 2 0 -133 1 1 10.0 2.0 2 3.0 2 0 -134 1 1 10.0 2.0 2 3.0 2 0 -135 1 1 10.0 2.0 2 3.0 2 0 +SERNUM BENUNIT PERSON PENTYPE PENPAY PTAMT PTINC POAMT POINC PENOTH +1 1 1 1 10.0 2.0 2 3.0 2 0 +2 1 1 1 10.0 2.0 2 3.0 2 0 +3 1 1 1 10.0 2.0 2 3.0 2 0 +4 1 1 1 10.0 2.0 2 3.0 2 0 +5 1 1 5 10.0 2.0 2 3.0 2 0 +6 1 1 1 10.0 2.0 2 3.0 2 0 +7 1 1 1 10.0 2.0 2 3.0 2 0 +8 1 1 1 10.0 2.0 2 3.0 2 0 +9 1 1 1 10.0 2.0 2 3.0 2 0 +10 1 1 5 10.0 2.0 2 3.0 2 0 +11 1 1 1 10.0 2.0 2 3.0 2 0 +12 1 1 1 10.0 2.0 2 3.0 2 0 +13 1 1 1 10.0 2.0 2 3.0 2 0 +14 1 1 1 10.0 2.0 2 3.0 2 0 +15 1 1 5 10.0 2.0 2 3.0 2 0 +16 1 1 1 10.0 2.0 2 3.0 2 0 +17 1 1 1 10.0 2.0 2 3.0 2 0 +18 1 1 1 10.0 2.0 2 3.0 2 0 +19 1 1 1 10.0 2.0 2 3.0 2 0 +20 1 1 5 10.0 2.0 2 3.0 2 0 +21 1 1 1 10.0 2.0 2 3.0 2 0 +22 1 1 1 10.0 2.0 2 3.0 2 0 +23 1 1 1 10.0 2.0 2 3.0 2 0 +24 1 1 1 10.0 2.0 2 3.0 2 0 +25 1 1 5 10.0 2.0 2 3.0 2 0 +26 1 1 1 10.0 2.0 2 3.0 2 0 +27 1 1 1 10.0 2.0 2 3.0 2 0 +28 1 1 1 10.0 2.0 2 3.0 2 0 +29 1 1 1 10.0 2.0 2 3.0 2 0 +30 1 1 5 10.0 2.0 2 3.0 2 0 +31 1 1 1 10.0 2.0 2 3.0 2 0 +32 1 1 1 10.0 2.0 2 3.0 2 0 +33 1 1 1 10.0 2.0 2 3.0 2 0 +34 1 1 1 10.0 2.0 2 3.0 2 0 +35 1 1 5 10.0 2.0 2 3.0 2 0 +36 1 1 1 10.0 2.0 2 3.0 2 0 +37 1 1 1 10.0 2.0 2 3.0 2 0 +38 1 1 1 10.0 2.0 2 3.0 2 0 +39 1 1 1 10.0 2.0 2 3.0 2 0 +40 1 1 5 10.0 2.0 2 3.0 2 0 +41 1 1 1 10.0 2.0 2 3.0 2 0 +42 1 1 1 10.0 2.0 2 3.0 2 0 +43 1 1 1 10.0 2.0 2 3.0 2 0 +44 1 1 1 10.0 2.0 2 3.0 2 0 +45 1 1 5 10.0 2.0 2 3.0 2 0 +46 1 1 1 10.0 2.0 2 3.0 2 0 +47 1 1 1 10.0 2.0 2 3.0 2 0 +48 1 1 1 10.0 2.0 2 3.0 2 0 +49 1 1 1 10.0 2.0 2 3.0 2 0 +50 1 1 5 10.0 2.0 2 3.0 2 0 +51 1 1 1 10.0 2.0 2 3.0 2 0 +52 1 1 1 10.0 2.0 2 3.0 2 0 +53 1 1 1 10.0 2.0 2 3.0 2 0 +54 1 1 1 10.0 2.0 2 3.0 2 0 +55 1 1 5 10.0 2.0 2 3.0 2 0 +56 1 1 1 10.0 2.0 2 3.0 2 0 +57 1 1 1 10.0 2.0 2 3.0 2 0 +58 1 1 1 10.0 2.0 2 3.0 2 0 +59 1 1 1 10.0 2.0 2 3.0 2 0 +60 1 1 5 10.0 2.0 2 3.0 2 0 +61 1 1 1 10.0 2.0 2 3.0 2 0 +62 1 1 1 10.0 2.0 2 3.0 2 0 +63 1 1 1 10.0 2.0 2 3.0 2 0 +64 1 1 1 10.0 2.0 2 3.0 2 0 +65 1 1 5 10.0 2.0 2 3.0 2 0 +66 1 1 1 10.0 2.0 2 3.0 2 0 +67 1 1 1 10.0 2.0 2 3.0 2 0 +68 1 1 1 10.0 2.0 2 3.0 2 0 +69 1 1 1 10.0 2.0 2 3.0 2 0 +70 1 1 5 10.0 2.0 2 3.0 2 0 +71 1 1 1 10.0 2.0 2 3.0 2 0 +72 1 1 1 10.0 2.0 2 3.0 2 0 +73 1 1 1 10.0 2.0 2 3.0 2 0 +74 1 1 1 10.0 2.0 2 3.0 2 0 +75 1 1 5 10.0 2.0 2 3.0 2 0 +76 1 1 1 10.0 2.0 2 3.0 2 0 +77 1 1 1 10.0 2.0 2 3.0 2 0 +78 1 1 1 10.0 2.0 2 3.0 2 0 +79 1 1 1 10.0 2.0 2 3.0 2 0 +80 1 1 5 10.0 2.0 2 3.0 2 0 +81 1 1 1 10.0 2.0 2 3.0 2 0 +82 1 1 1 10.0 2.0 2 3.0 2 0 +83 1 1 1 10.0 2.0 2 3.0 2 0 +84 1 1 1 10.0 2.0 2 3.0 2 0 +85 1 1 5 10.0 2.0 2 3.0 2 0 +86 1 1 1 10.0 2.0 2 3.0 2 0 +87 1 1 1 10.0 2.0 2 3.0 2 0 +88 1 1 1 10.0 2.0 2 3.0 2 0 +89 1 1 1 10.0 2.0 2 3.0 2 0 +90 1 1 5 10.0 2.0 2 3.0 2 0 +91 1 1 1 10.0 2.0 2 3.0 2 0 +92 1 1 1 10.0 2.0 2 3.0 2 0 +93 1 1 1 10.0 2.0 2 3.0 2 0 +94 1 1 1 10.0 2.0 2 3.0 2 0 +95 1 1 5 10.0 2.0 2 3.0 2 0 +96 1 1 1 10.0 2.0 2 3.0 2 0 +97 1 1 1 10.0 2.0 2 3.0 2 0 +98 1 1 1 10.0 2.0 2 3.0 2 0 +99 1 1 1 10.0 2.0 2 3.0 2 0 +100 1 1 5 10.0 2.0 2 3.0 2 0 +101 1 1 1 10.0 2.0 2 3.0 2 0 +102 1 1 1 10.0 2.0 2 3.0 2 0 +103 1 1 1 10.0 2.0 2 3.0 2 0 +104 1 1 1 10.0 2.0 2 3.0 2 0 +105 1 1 5 10.0 2.0 2 3.0 2 0 +106 1 1 1 10.0 2.0 2 3.0 2 0 +107 1 1 1 10.0 2.0 2 3.0 2 0 +108 1 1 1 10.0 2.0 2 3.0 2 0 +109 1 1 1 10.0 2.0 2 3.0 2 0 +110 1 1 5 10.0 2.0 2 3.0 2 0 +111 1 1 1 10.0 2.0 2 3.0 2 0 +112 1 1 1 10.0 2.0 2 3.0 2 0 +113 1 1 1 10.0 2.0 2 3.0 2 0 +114 1 1 1 10.0 2.0 2 3.0 2 0 +115 1 1 5 10.0 2.0 2 3.0 2 0 +116 1 1 1 10.0 2.0 2 3.0 2 0 +117 1 1 1 10.0 2.0 2 3.0 2 0 +118 1 1 1 10.0 2.0 2 3.0 2 0 +119 1 1 1 10.0 2.0 2 3.0 2 0 +120 1 1 5 10.0 2.0 2 3.0 2 0 +121 1 1 1 10.0 2.0 2 3.0 2 0 +122 1 1 1 10.0 2.0 2 3.0 2 0 +123 1 1 1 10.0 2.0 2 3.0 2 0 +124 1 1 1 10.0 2.0 2 3.0 2 0 +125 1 1 5 10.0 2.0 2 3.0 2 0 +126 1 1 1 10.0 2.0 2 3.0 2 0 +127 1 1 1 10.0 2.0 2 3.0 2 0 +128 1 1 1 10.0 2.0 2 3.0 2 0 +129 1 1 1 10.0 2.0 2 3.0 2 0 +130 1 1 5 10.0 2.0 2 3.0 2 0 +131 1 1 1 10.0 2.0 2 3.0 2 0 +132 1 1 1 10.0 2.0 2 3.0 2 0 +133 1 1 1 10.0 2.0 2 3.0 2 0 +134 1 1 1 10.0 2.0 2 3.0 2 0 +135 1 1 5 10.0 2.0 2 3.0 2 0 diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/person.csv b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/person.csv index 6a81e370c6..eb3565845a 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/person.csv +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/person.csv @@ -1,163 +1,163 @@ -person_id,person_benunit_id,person_household_id,age,gender,months_since_last_birthday,marital_status,hours_worked,care_hours,frs_care_hours_in_household,is_household_head,is_benunit_head,is_parent,is_blind,employment_income,self_employment_income,trading_loss,loss_relief,ni_class_4_losses_brought_forward,private_pension_income,individual_savings_account_interest_income,savings_interest_income,dividend_income,other_investment_income,stands_as_sole_owner_or_partner_of_company,is_engaged_in_owned_company_trade,owned_company_is_main_employment,owned_company_carries_on_trade,owned_company_carries_on_property_business,owned_company_income_share,frs_bonus_amount,property_income,reports_rent_from_other_property,maintenance_income,spousal_maintenance_income,miscellaneous_income,private_transfer_income,lump_sum_income,student_loan_repayments,statutory_sick_pay,statutory_maternity_pay,statutory_paternity_pay,student_loans,access_fund,education_grants,healthy_start_vouchers,free_school_breakfasts,free_school_fruit_veg,free_school_meals,child_benefit_reported,income_support_reported,housing_benefit_reported,attendance_allowance_reported,dla_sc_reported,dla_m_reported,iidb_reported,carers_allowance_reported,sda_reported,afcs_reported,ssmg_reported,pension_credit_reported,child_tax_credit_reported,working_tax_credit_reported,state_pension_reported,winter_fuel_allowance_reported,incapacity_benefit_reported,universal_credit_reported,pip_m_reported,pip_dl_reported,jsa_contrib_reported,jsa_income_reported,esa_contrib_reported,esa_income_reported,esa_includes_support_component,bsp_reported,widowed_parents_allowance_reported,war_widows_pension_reported,would_claim_carers_allowance,council_tax_benefit_reported,maintenance_expenses,childcare_expenses,personal_pension_contributions,employee_pension_contributions,pension_contributions_via_salary_sacrifice,salary_sacrifice_reported,salary_sacrifice_asked,is_uc_claimant,rent_paid_as_boarder,rent_paid_as_lodger,is_claimant_or_partner,is_hbai_dependent_child,uc_is_in_startup_period,uc_is_in_gainful_self_employment,__stratum__ -1001,101,1,80,FEMALE,5.9_9999999999921663e+00,SINGLE,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,5.2_5200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -2001,201,2,22,MALE,1.0_0509554140127424e+01,SINGLE,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.3_0400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -3001,301,3,23,FEMALE,1.9_5569620253164977e+00,MARRIED,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.3_5600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default -4001,401,4,24,MALE,1.0_0377358490566309e+01,SINGLE,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.4_0800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -5001,501,5,25,FEMALE,1.9_6875000000004219e+00,SINGLE,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,5.4_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.1_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -5002,501,5,13,FEMALE,9.5_4545454545455918e-01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -6001,601,6,26,MALE,1.0_0248447204969420e+01,MARRIED,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,5.5_1200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default -7001,701,7,27,FEMALE,1.0_0185185185185510e+01,SINGLE,1.4_0400000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,5.5_6400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -8001,801,8,28,MALE,1.9_8773006134973951e+00,SINGLE,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.6_1600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -9001,901,9,29,FEMALE,1.0_0060975609756149e+01,MARRIED,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.6_6800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default -10001,1001,10,30,MALE,1.9_9999999999997891e+00,SINGLE,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,5.7_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,8.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -10002,1001,10,10,MALE,5.0_2941176470588047e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -11001,1101,11,31,FEMALE,2.0_0602409638553958e+00,SINGLE,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,5.7_7200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -12001,1201,12,32,MALE,9.9_8802395209581917e+00,MARRIED,1.6_6400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.8_2400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -13001,1301,13,33,FEMALE,9.9_8214285714285587e+00,SINGLE,1.7_1600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.8_7600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -14001,1401,14,34,MALE,2.0_2366863905325678e+00,SINGLE,1.7_6800000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,5.9_2800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -15001,1501,15,35,FEMALE,9.9_7058823529413729e+00,MARRIED,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,5.9_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,7.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -15002,1501,15,15,FEMALE,1.1_0142857142857142e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -16001,1601,16,36,MALE,9.9_6491228070176049e+00,SINGLE,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,6.0_3200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -17001,1701,17,37,FEMALE,9.9_5930232558133888e+00,SINGLE,1.9_2400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.0_8400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -18001,1801,18,38,MALE,9.9_5375722543345631e+00,MARRIED,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.1_3600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,True,default -19001,1901,19,39,FEMALE,2.0_5172413793092900e+00,SINGLE,2.0_2800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.1_8800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -20001,2001,20,40,MALE,9.9_4285714285704536e+00,SINGLE,2.0_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,6.2_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,1.1_0000000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -20002,2001,20,12,MALE,1.4_9999999999999800e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -21001,2101,21,41,FEMALE,2.0_6249999999993028e+00,MARRIED,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,6.2_9200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -22001,2201,22,42,MALE,2.0_6779661016939098e+00,SINGLE,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.3_4400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -23001,2301,23,43,FEMALE,9.9_2696629213474324e+00,SINGLE,2.2_3600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.3_9600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -24001,2401,24,44,MALE,9.9_2178770949715272e+00,MARRIED,2.2_8800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.4_4800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -25001,2501,25,45,FEMALE,9.9_1666666666655239e+00,SINGLE,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,6.5_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.0_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -25002,2501,25,9,FEMALE,6.4_8484848484848264e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -26001,2601,26,46,MALE,5.9_9999999999964206e+00,SINGLE,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,6.5_5200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -27001,2701,27,47,FEMALE,5.9_9999999999982769e+00,MARRIED,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.6_0400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default -28001,2801,28,48,MALE,5.9_9999999999974420e+00,SINGLE,1.1_9600000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,6.6_5600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -29001,2901,29,49,FEMALE,5.9_9999999999966072e+00,SINGLE,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.7_0800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -30001,3001,30,50,MALE,5.9_9999999999984190e+00,MARRIED,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,6.7_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,7.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -30002,3001,30,14,MALE,1.0_4705882352941195e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -31001,3101,31,51,FEMALE,5.9_9999999999976019e+00,SINGLE,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,6.8_1200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -32001,3201,32,52,MALE,5.9_9999999999967848e+00,SINGLE,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.8_6400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -33001,3301,33,53,FEMALE,5.9_9999999999985523e+00,MARRIED,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.9_1600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default -34001,3401,34,54,MALE,5.9_9999999999977529e+00,SINGLE,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.9_6800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -35001,3501,35,55,FEMALE,5.9_9999999999969624e+00,SINGLE,1.5_6000000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,True,True,7.0_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,6.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -35002,3501,35,11,FEMALE,6.4_5714285714285818e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -36001,3601,36,56,MALE,5.9_9999999999986855e+00,MARRIED,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,7.0_7200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default -37001,3701,37,57,FEMALE,5.9_9999999999979039e+00,SINGLE,1.6_6400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.1_2400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -38001,3801,38,58,MALE,5.9_9999999999971401e+00,SINGLE,1.7_1600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.1_7600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -39001,3901,39,59,FEMALE,5.9_9999999999963762e+00,MARRIED,1.7_6800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.2_2800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -40001,4001,40,60,MALE,5.9_9999999999980638e+00,SINGLE,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,7.2_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,1.0_0000000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -40002,4001,40,8,MALE,5.5_5555555555555536e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -41001,4101,41,61,FEMALE,5.9_9999999999972999e+00,SINGLE,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,7.3_3200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -42001,4201,42,62,MALE,5.9_9999999999965539e+00,MARRIED,1.9_2400000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,7.3_8400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -43001,4301,43,63,FEMALE,5.9_9999999999981970e+00,SINGLE,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.4_3600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -44001,4401,44,64,MALE,5.9_9999999999974509e+00,SINGLE,2.0_2800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.4_8800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -45001,4501,45,65,FEMALE,5.9_9999999999967137e+00,MARRIED,2.0_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,7.5_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,9.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -45002,4501,45,13,FEMALE,3.2_2727272727272707e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -46001,4601,46,66,MALE,5.9_9999999999983213e+00,SINGLE,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,7.5_9200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -47001,4701,47,67,FEMALE,5.9_9999999999975842e+00,SINGLE,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.6_4400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -48001,4801,48,68,MALE,5.9_9999999999968736e+00,MARRIED,2.2_3600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.6_9600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -49001,4901,49,69,FEMALE,5.9_9999999999984368e+00,SINGLE,2.2_8800000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,7.7_4800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -50001,5001,50,70,MALE,5.9_9999999999954525e+00,SINGLE,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,7.8_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,6.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -50002,5001,50,10,MALE,1.0_6764705882352917e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -51001,5101,51,71,FEMALE,5.9_9999999999947597e+00,MARRIED,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,7.8_5200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default -52001,5201,52,72,MALE,5.9_9999999999940758e+00,SINGLE,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.9_0400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -53001,5301,53,73,FEMALE,5.9_9999999999934008e+00,SINGLE,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.9_5600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -54001,5401,54,74,MALE,5.9_9999999999971578e+00,MARRIED,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.0_0800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default -55001,5501,55,20,FEMALE,5.9_9999999999997691e+00,SINGLE,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,8.0_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.2_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -55002,5501,55,15,FEMALE,1.3_2857142857142363e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -56001,5601,56,21,MALE,6.0_0000000000001776e+00,SINGLE,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,8.1_1200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -57001,5701,57,22,FEMALE,6.0_0000000000000355e+00,MARRIED,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.1_6400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -58001,5801,58,23,MALE,5.9_9999999999998668e+00,SINGLE,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.2_1600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -59001,5901,59,24,FEMALE,6.0_0000000000002487e+00,SINGLE,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.2_6800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -60001,6001,60,25,MALE,6.0_0000000000006217e+00,MARRIED,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,8.3_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,9.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -60002,6001,60,12,MALE,1.0_0000000000000000e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -61001,6101,61,26,FEMALE,6.0_0000000000010125e+00,SINGLE,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,8.3_7200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -62001,6201,62,27,MALE,6.0_0000000000013856e+00,SINGLE,1.6_6400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.4_2400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -63001,6301,63,28,FEMALE,6.0_0000000000007194e+00,MARRIED,1.7_1600000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,8.4_7600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default -64001,6401,64,29,MALE,6.0_0000000000000533e+00,SINGLE,1.7_6800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.5_2800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -65001,6501,65,30,FEMALE,6.0_0000000000004263e+00,SINGLE,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,8.5_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,8.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -65002,6501,65,9,FEMALE,1.0_0000000000000000e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -66001,6601,66,31,MALE,5.9_9999999999997602e+00,MARRIED,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,8.6_3200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -67001,6701,67,32,FEMALE,6.0_0000000000001332e+00,SINGLE,1.9_2400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.6_8400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -68001,6801,68,33,MALE,6.0_0000000000004796e+00,SINGLE,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.7_3600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -69001,6901,69,34,FEMALE,5.9_9999999999998401e+00,MARRIED,2.0_2800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.7_8800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default -70001,7001,70,35,MALE,6.0_0000000000001954e+00,SINGLE,2.0_8000000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,True,True,8.8_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,5.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -70002,7001,70,14,MALE,6.9_4117647058824527e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -71001,7101,71,36,FEMALE,5.9_9999999999995648e+00,SINGLE,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,8.8_9200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -72001,7201,72,37,MALE,5.9_9999999999979394e+00,MARRIED,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.9_4400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default -73001,7301,73,38,FEMALE,5.9_9999999999973177e+00,SINGLE,2.2_3600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.9_9600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -74001,7401,74,39,MALE,5.9_9999999999986677e+00,SINGLE,2.2_8800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.0_4800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -75001,7501,75,40,FEMALE,5.9_9999999999980460e+00,MARRIED,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,9.1_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.1_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default -75002,7501,75,11,FEMALE,1.0_0000000000000000e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -76001,7601,76,41,MALE,5.9_9999999999974420e+00,SINGLE,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,9.1_5200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -77001,7701,77,42,FEMALE,5.9_9999999999987654e+00,SINGLE,1.1_4400000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,9.2_0400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -78001,7801,78,43,MALE,5.9_9999999999981615e+00,MARRIED,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.2_5600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -79001,7901,79,44,FEMALE,5.9_9999999999975664e+00,SINGLE,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.3_0800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -80001,8001,80,45,MALE,5.9_9999999999988631e+00,SINGLE,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,9.3_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,8.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -80002,8001,80,8,MALE,2.0_0000000000000000e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -81001,8101,81,46,FEMALE,5.9_9999999999982592e+00,MARRIED,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,9.4_1200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default -82001,8201,82,47,MALE,5.9_9999999999976730e+00,SINGLE,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.4_6400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -83001,8301,83,48,FEMALE,5.9_9999999999989519e+00,SINGLE,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.5_1600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -84001,8401,84,49,MALE,5.9_9999999999983658e+00,MARRIED,1.5_0800000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,9.5_6800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -85001,8501,85,50,FEMALE,5.9_9999999999977796e+00,SINGLE,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,9.6_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,7.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -85002,8501,85,13,FEMALE,6.2_2727272727273107e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -86001,8601,86,51,MALE,5.9_9999999999990408e+00,SINGLE,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,9.6_7200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -87001,8701,87,52,FEMALE,5.9_9999999999984635e+00,MARRIED,1.6_6400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.7_2400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default -88001,8801,88,53,MALE,5.9_9999999999979039e+00,SINGLE,1.7_1600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.7_7600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -89001,8901,89,54,FEMALE,5.9_9999999999973355e+00,SINGLE,1.7_6800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.8_2800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -90001,9001,90,55,MALE,5.9_9999999999985700e+00,MARRIED,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,9.8_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,1.1_0000000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,True,default -90002,9001,90,10,MALE,7.6_7647058823529171e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -91001,9101,91,56,FEMALE,5.9_9999999999980105e+00,SINGLE,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,9.9_3200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -92001,9201,92,57,MALE,5.9_9999999999974509e+00,SINGLE,1.9_2400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.9_8400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -93001,9301,93,58,FEMALE,5.9_9999999999986589e+00,MARRIED,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_0360000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -94001,9401,94,59,MALE,5.9_9999999999980993e+00,SINGLE,2.0_2800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_0880000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -95001,9501,95,60,FEMALE,5.9_9999999999975575e+00,SINGLE,2.0_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.0_1400000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.0_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -95002,9501,95,15,FEMALE,8.3_5714285714286120e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -96001,9601,96,61,MALE,5.9_9999999999987477e+00,MARRIED,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.0_1920000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -97001,9701,97,62,FEMALE,5.9_9999999999982059e+00,SINGLE,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_2440000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -98001,9801,98,63,MALE,5.9_9999999999976552e+00,SINGLE,2.2_3600000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.0_2960000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -99001,9901,99,64,FEMALE,5.9_9999999999988365e+00,MARRIED,2.2_8800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_3480000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default -100001,10001,100,65,MALE,5.9_9999999999982947e+00,SINGLE,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.0_4000000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,7.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -100002,10001,100,12,MALE,5.4_9999999999999734e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -101001,10101,101,66,FEMALE,5.9_9999999999977796e+00,SINGLE,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.0_4520000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -102001,10201,102,67,MALE,5.9_9999999999989164e+00,MARRIED,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_5040000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -103001,10301,103,68,FEMALE,5.9_9999999999984013e+00,SINGLE,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_5560000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -104001,10401,104,69,MALE,5.9_9999999999978506e+00,SINGLE,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_6080000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -105001,10501,105,70,FEMALE,5.9_9999999999990141e+00,MARRIED,1.3_0000000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,True,True,1.0_6600000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,6.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -105002,10501,105,9,FEMALE,2.4_8484848484848486e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -106001,10601,106,71,MALE,5.9_9999999999968203e+00,SINGLE,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.0_7120000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -107001,10701,107,72,FEMALE,5.9_9999999999962874e+00,SINGLE,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_7640000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -108001,10801,108,73,MALE,5.9_9999999999957989e+00,MARRIED,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_8160000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default -109001,10901,109,74,FEMALE,5.9_9999999999953104e+00,SINGLE,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_8680000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -110001,11001,110,20,MALE,6.0_0000000000000799e+00,SINGLE,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.0_9200000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,1.0_0000000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -110002,11001,110,14,MALE,2.4_7058823529412130e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -111001,11101,111,21,FEMALE,5.9_9999999999999467e+00,MARRIED,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.0_9720000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -112001,11201,112,22,MALE,4.0_5095541401272818e+00,SINGLE,1.6_6400000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.1_0240000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -113001,11301,113,23,FEMALE,7.9_5569620253166043e+00,SINGLE,1.7_1600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_0760000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -114001,11401,114,24,MALE,4.0_3773584905660687e+00,MARRIED,1.7_6800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_1280000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -115001,11501,115,25,FEMALE,7.9_6875000000006217e+00,SINGLE,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.1_1800000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,9.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -115002,11501,115,11,FEMALE,2.4_5714285714285419e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -116001,11601,116,26,MALE,4.0_2484472049693398e+00,SINGLE,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.1_2320000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -117001,11701,117,27,FEMALE,4.0_1851851851857766e+00,MARRIED,1.9_2400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_2840000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default -118001,11801,118,28,MALE,7.9_8773006134971375e+00,SINGLE,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_3360000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -119001,11901,119,29,FEMALE,4.0_0609756097560155e+00,SINGLE,2.0_2800000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.1_3880000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -120001,12001,120,30,MALE,7.9_9999999999998934e+00,MARRIED,2.0_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.1_4400000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,6.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -120002,12001,120,8,MALE,9.5_5555555555555713e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -121001,12101,121,31,FEMALE,8.0_0602409638551649e+00,SINGLE,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.1_4920000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -122001,12201,122,32,MALE,3.9_8802395209580407e+00,SINGLE,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_5440000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -123001,12301,123,33,FEMALE,3.9_8214285714287186e+00,MARRIED,2.2_3600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_5960000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default -124001,12401,124,34,MALE,8.0_2366863905323768e+00,SINGLE,2.2_8800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_6480000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -125001,12501,125,35,FEMALE,3.9_7058823529411775e+00,SINGLE,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.1_7000000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.2_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -125002,12501,125,13,FEMALE,9.9_5454545454545148e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -126001,12601,126,36,MALE,3.9_6491228070177248e+00,MARRIED,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.1_7520000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default -127001,12701,127,37,FEMALE,3.9_5930232558138151e+00,SINGLE,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_8040000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -128001,12801,128,38,MALE,3.9_5375722543343144e+00,SINGLE,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_8560000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -129001,12901,129,39,FEMALE,8.0_5172413793090058e+00,MARRIED,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_9080000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -130001,13001,130,40,MALE,3.9_4285714285708488e+00,SINGLE,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.1_9600000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,9.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default -130002,13001,130,10,MALE,2.0_2941176470588092e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default -131001,13101,131,41,FEMALE,8.0_6249999999993783e+00,SINGLE,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.2_0120000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default -132001,13201,132,42,MALE,8.0_6779661016936700e+00,MARRIED,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.2_0640000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -133001,13301,133,43,FEMALE,3.9_2696629213477744e+00,SINGLE,1.4_5600000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.2_1160000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -134001,13401,134,44,MALE,3.9_2178770949712296e+00,SINGLE,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.2_1680000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default -135001,13501,135,45,FEMALE,3.9_1666666666655283e+00,MARRIED,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.2_2200000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,8.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default -135002,13501,135,15,FEMALE,4.6_7142857142856904e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +person_id,person_benunit_id,person_household_id,age,gender,months_since_last_birthday,marital_status,hours_worked,care_hours,frs_care_hours_in_household,is_household_head,is_benunit_head,is_parent,is_blind,employment_income,self_employment_income,trading_loss,loss_relief,ni_class_4_losses_brought_forward,private_pension_income,annuity_and_trust_income,individual_savings_account_interest_income,savings_interest_income,dividend_income,other_investment_income,stands_as_sole_owner_or_partner_of_company,is_engaged_in_owned_company_trade,owned_company_is_main_employment,owned_company_carries_on_trade,owned_company_carries_on_property_business,owned_company_income_share,frs_bonus_amount,property_income,reports_rent_from_other_property,maintenance_income,spousal_maintenance_income,miscellaneous_income,private_transfer_income,lump_sum_income,student_loan_repayments,statutory_sick_pay,statutory_maternity_pay,statutory_paternity_pay,student_loans,access_fund,education_grants,healthy_start_vouchers,free_school_breakfasts,free_school_fruit_veg,free_school_meals,child_benefit_reported,income_support_reported,housing_benefit_reported,attendance_allowance_reported,dla_sc_reported,dla_m_reported,iidb_reported,carers_allowance_reported,sda_reported,afcs_reported,ssmg_reported,pension_credit_reported,child_tax_credit_reported,working_tax_credit_reported,state_pension_reported,winter_fuel_allowance_reported,incapacity_benefit_reported,universal_credit_reported,pip_m_reported,pip_dl_reported,jsa_contrib_reported,jsa_income_reported,esa_contrib_reported,esa_income_reported,esa_includes_support_component,bsp_reported,widowed_parents_allowance_reported,war_widows_pension_reported,would_claim_carers_allowance,council_tax_benefit_reported,maintenance_expenses,childcare_expenses,personal_pension_contributions,employee_pension_contributions,pension_contributions_via_salary_sacrifice,salary_sacrifice_reported,salary_sacrifice_asked,is_uc_claimant,rent_paid_as_boarder,rent_paid_as_lodger,is_claimant_or_partner,is_hbai_dependent_child,uc_is_in_startup_period,uc_is_in_gainful_self_employment,__stratum__ +1001,101,1,80,FEMALE,5.9_9999999999921663e+00,SINGLE,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,5.2_5200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +2001,201,2,22,MALE,1.0_0509554140127424e+01,SINGLE,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.3_0400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +3001,301,3,23,FEMALE,1.9_5569620253164977e+00,MARRIED,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.3_5600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default +4001,401,4,24,MALE,1.0_0377358490566309e+01,SINGLE,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.4_0800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +5001,501,5,25,FEMALE,1.9_6875000000004219e+00,SINGLE,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,5.4_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.1_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +5002,501,5,13,FEMALE,9.5_4545454545455918e-01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +6001,601,6,26,MALE,1.0_0248447204969420e+01,MARRIED,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,5.5_1200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default +7001,701,7,27,FEMALE,1.0_0185185185185510e+01,SINGLE,1.4_0400000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,5.5_6400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +8001,801,8,28,MALE,1.9_8773006134973951e+00,SINGLE,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.6_1600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +9001,901,9,29,FEMALE,1.0_0060975609756149e+01,MARRIED,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.6_6800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default +10001,1001,10,30,MALE,1.9_9999999999997891e+00,SINGLE,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,5.7_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,8.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +10002,1001,10,10,MALE,5.0_2941176470588047e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +11001,1101,11,31,FEMALE,2.0_0602409638553958e+00,SINGLE,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,5.7_7200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +12001,1201,12,32,MALE,9.9_8802395209581917e+00,MARRIED,1.6_6400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.8_2400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +13001,1301,13,33,FEMALE,9.9_8214285714285587e+00,SINGLE,1.7_1600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,5.8_7600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +14001,1401,14,34,MALE,2.0_2366863905325678e+00,SINGLE,1.7_6800000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,5.9_2800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +15001,1501,15,35,FEMALE,9.9_7058823529413729e+00,MARRIED,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,5.9_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,7.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +15002,1501,15,15,FEMALE,1.1_0142857142857142e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +16001,1601,16,36,MALE,9.9_6491228070176049e+00,SINGLE,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,6.0_3200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +17001,1701,17,37,FEMALE,9.9_5930232558133888e+00,SINGLE,1.9_2400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.0_8400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +18001,1801,18,38,MALE,9.9_5375722543345631e+00,MARRIED,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.1_3600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,True,default +19001,1901,19,39,FEMALE,2.0_5172413793092900e+00,SINGLE,2.0_2800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.1_8800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +20001,2001,20,40,MALE,9.9_4285714285704536e+00,SINGLE,2.0_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,6.2_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,1.1_0000000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +20002,2001,20,12,MALE,1.4_9999999999999800e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +21001,2101,21,41,FEMALE,2.0_6249999999993028e+00,MARRIED,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,6.2_9200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +22001,2201,22,42,MALE,2.0_6779661016939098e+00,SINGLE,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.3_4400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +23001,2301,23,43,FEMALE,9.9_2696629213474324e+00,SINGLE,2.2_3600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.3_9600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +24001,2401,24,44,MALE,9.9_2178770949715272e+00,MARRIED,2.2_8800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.4_4800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +25001,2501,25,45,FEMALE,9.9_1666666666655239e+00,SINGLE,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,6.5_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.0_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +25002,2501,25,9,FEMALE,6.4_8484848484848264e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +26001,2601,26,46,MALE,5.9_9999999999964206e+00,SINGLE,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,6.5_5200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +27001,2701,27,47,FEMALE,5.9_9999999999982769e+00,MARRIED,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.6_0400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default +28001,2801,28,48,MALE,5.9_9999999999974420e+00,SINGLE,1.1_9600000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,6.6_5600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +29001,2901,29,49,FEMALE,5.9_9999999999966072e+00,SINGLE,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.7_0800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +30001,3001,30,50,MALE,5.9_9999999999984190e+00,MARRIED,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,6.7_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,7.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +30002,3001,30,14,MALE,1.0_4705882352941195e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +31001,3101,31,51,FEMALE,5.9_9999999999976019e+00,SINGLE,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,6.8_1200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +32001,3201,32,52,MALE,5.9_9999999999967848e+00,SINGLE,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.8_6400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +33001,3301,33,53,FEMALE,5.9_9999999999985523e+00,MARRIED,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.9_1600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default +34001,3401,34,54,MALE,5.9_9999999999977529e+00,SINGLE,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,6.9_6800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +35001,3501,35,55,FEMALE,5.9_9999999999969624e+00,SINGLE,1.5_6000000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,True,True,7.0_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,6.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +35002,3501,35,11,FEMALE,6.4_5714285714285818e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +36001,3601,36,56,MALE,5.9_9999999999986855e+00,MARRIED,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,7.0_7200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default +37001,3701,37,57,FEMALE,5.9_9999999999979039e+00,SINGLE,1.6_6400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.1_2400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +38001,3801,38,58,MALE,5.9_9999999999971401e+00,SINGLE,1.7_1600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.1_7600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +39001,3901,39,59,FEMALE,5.9_9999999999963762e+00,MARRIED,1.7_6800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.2_2800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +40001,4001,40,60,MALE,5.9_9999999999980638e+00,SINGLE,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,7.2_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,1.0_0000000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +40002,4001,40,8,MALE,5.5_5555555555555536e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +41001,4101,41,61,FEMALE,5.9_9999999999972999e+00,SINGLE,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,7.3_3200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +42001,4201,42,62,MALE,5.9_9999999999965539e+00,MARRIED,1.9_2400000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,7.3_8400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +43001,4301,43,63,FEMALE,5.9_9999999999981970e+00,SINGLE,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.4_3600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +44001,4401,44,64,MALE,5.9_9999999999974509e+00,SINGLE,2.0_2800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.4_8800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +45001,4501,45,65,FEMALE,5.9_9999999999967137e+00,MARRIED,2.0_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,7.5_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,9.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +45002,4501,45,13,FEMALE,3.2_2727272727272707e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +46001,4601,46,66,MALE,5.9_9999999999983213e+00,SINGLE,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,7.5_9200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +47001,4701,47,67,FEMALE,5.9_9999999999975842e+00,SINGLE,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.6_4400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +48001,4801,48,68,MALE,5.9_9999999999968736e+00,MARRIED,2.2_3600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.6_9600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +49001,4901,49,69,FEMALE,5.9_9999999999984368e+00,SINGLE,2.2_8800000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,7.7_4800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +50001,5001,50,70,MALE,5.9_9999999999954525e+00,SINGLE,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,7.8_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,6.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +50002,5001,50,10,MALE,1.0_6764705882352917e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +51001,5101,51,71,FEMALE,5.9_9999999999947597e+00,MARRIED,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,7.8_5200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default +52001,5201,52,72,MALE,5.9_9999999999940758e+00,SINGLE,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.9_0400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +53001,5301,53,73,FEMALE,5.9_9999999999934008e+00,SINGLE,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,7.9_5600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +54001,5401,54,74,MALE,5.9_9999999999971578e+00,MARRIED,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.0_0800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default +55001,5501,55,20,FEMALE,5.9_9999999999997691e+00,SINGLE,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,8.0_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.2_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +55002,5501,55,15,FEMALE,1.3_2857142857142363e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +56001,5601,56,21,MALE,6.0_0000000000001776e+00,SINGLE,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,8.1_1200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +57001,5701,57,22,FEMALE,6.0_0000000000000355e+00,MARRIED,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.1_6400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +58001,5801,58,23,MALE,5.9_9999999999998668e+00,SINGLE,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.2_1600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +59001,5901,59,24,FEMALE,6.0_0000000000002487e+00,SINGLE,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.2_6800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +60001,6001,60,25,MALE,6.0_0000000000006217e+00,MARRIED,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,8.3_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,9.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +60002,6001,60,12,MALE,1.0_0000000000000000e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +61001,6101,61,26,FEMALE,6.0_0000000000010125e+00,SINGLE,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,8.3_7200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +62001,6201,62,27,MALE,6.0_0000000000013856e+00,SINGLE,1.6_6400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.4_2400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +63001,6301,63,28,FEMALE,6.0_0000000000007194e+00,MARRIED,1.7_1600000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,8.4_7600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default +64001,6401,64,29,MALE,6.0_0000000000000533e+00,SINGLE,1.7_6800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.5_2800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +65001,6501,65,30,FEMALE,6.0_0000000000004263e+00,SINGLE,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,8.5_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,8.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +65002,6501,65,9,FEMALE,1.0_0000000000000000e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +66001,6601,66,31,MALE,5.9_9999999999997602e+00,MARRIED,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,8.6_3200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +67001,6701,67,32,FEMALE,6.0_0000000000001332e+00,SINGLE,1.9_2400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.6_8400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +68001,6801,68,33,MALE,6.0_0000000000004796e+00,SINGLE,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.7_3600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +69001,6901,69,34,FEMALE,5.9_9999999999998401e+00,MARRIED,2.0_2800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.7_8800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default +70001,7001,70,35,MALE,6.0_0000000000001954e+00,SINGLE,2.0_8000000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,True,True,8.8_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,5.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +70002,7001,70,14,MALE,6.9_4117647058824527e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +71001,7101,71,36,FEMALE,5.9_9999999999995648e+00,SINGLE,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,8.8_9200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +72001,7201,72,37,MALE,5.9_9999999999979394e+00,MARRIED,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.9_4400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default +73001,7301,73,38,FEMALE,5.9_9999999999973177e+00,SINGLE,2.2_3600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,8.9_9600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +74001,7401,74,39,MALE,5.9_9999999999986677e+00,SINGLE,2.2_8800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.0_4800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +75001,7501,75,40,FEMALE,5.9_9999999999980460e+00,MARRIED,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,9.1_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.1_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default +75002,7501,75,11,FEMALE,1.0_0000000000000000e+01,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +76001,7601,76,41,MALE,5.9_9999999999974420e+00,SINGLE,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,9.1_5200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +77001,7701,77,42,FEMALE,5.9_9999999999987654e+00,SINGLE,1.1_4400000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,9.2_0400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +78001,7801,78,43,MALE,5.9_9999999999981615e+00,MARRIED,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.2_5600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +79001,7901,79,44,FEMALE,5.9_9999999999975664e+00,SINGLE,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.3_0800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +80001,8001,80,45,MALE,5.9_9999999999988631e+00,SINGLE,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,9.3_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,8.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +80002,8001,80,8,MALE,2.0_0000000000000000e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +81001,8101,81,46,FEMALE,5.9_9999999999982592e+00,MARRIED,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,9.4_1200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default +82001,8201,82,47,MALE,5.9_9999999999976730e+00,SINGLE,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.4_6400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +83001,8301,83,48,FEMALE,5.9_9999999999989519e+00,SINGLE,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.5_1600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +84001,8401,84,49,MALE,5.9_9999999999983658e+00,MARRIED,1.5_0800000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,9.5_6800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +85001,8501,85,50,FEMALE,5.9_9999999999977796e+00,SINGLE,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,9.6_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,7.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +85002,8501,85,13,FEMALE,6.2_2727272727273107e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +86001,8601,86,51,MALE,5.9_9999999999990408e+00,SINGLE,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,9.6_7200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +87001,8701,87,52,FEMALE,5.9_9999999999984635e+00,MARRIED,1.6_6400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.7_2400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default +88001,8801,88,53,MALE,5.9_9999999999979039e+00,SINGLE,1.7_1600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.7_7600000000000000e+03,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +89001,8901,89,54,FEMALE,5.9_9999999999973355e+00,SINGLE,1.7_6800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.8_2800000000000000e+03,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +90001,9001,90,55,MALE,5.9_9999999999985700e+00,MARRIED,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,9.8_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,1.1_0000000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,True,default +90002,9001,90,10,MALE,7.6_7647058823529171e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +91001,9101,91,56,FEMALE,5.9_9999999999980105e+00,SINGLE,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,9.9_3200000000000000e+03,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +92001,9201,92,57,MALE,5.9_9999999999974509e+00,SINGLE,1.9_2400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,9.9_8400000000000000e+03,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +93001,9301,93,58,FEMALE,5.9_9999999999986589e+00,MARRIED,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_0360000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +94001,9401,94,59,MALE,5.9_9999999999980993e+00,SINGLE,2.0_2800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_0880000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +95001,9501,95,60,FEMALE,5.9_9999999999975575e+00,SINGLE,2.0_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.0_1400000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.0_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +95002,9501,95,15,FEMALE,8.3_5714285714286120e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +96001,9601,96,61,MALE,5.9_9999999999987477e+00,MARRIED,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.0_1920000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +97001,9701,97,62,FEMALE,5.9_9999999999982059e+00,SINGLE,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_2440000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +98001,9801,98,63,MALE,5.9_9999999999976552e+00,SINGLE,2.2_3600000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.0_2960000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +99001,9901,99,64,FEMALE,5.9_9999999999988365e+00,MARRIED,2.2_8800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_3480000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default +100001,10001,100,65,MALE,5.9_9999999999982947e+00,SINGLE,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.0_4000000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,7.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +100002,10001,100,12,MALE,5.4_9999999999999734e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +101001,10101,101,66,FEMALE,5.9_9999999999977796e+00,SINGLE,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.0_4520000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +102001,10201,102,67,MALE,5.9_9999999999989164e+00,MARRIED,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_5040000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +103001,10301,103,68,FEMALE,5.9_9999999999984013e+00,SINGLE,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_5560000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +104001,10401,104,69,MALE,5.9_9999999999978506e+00,SINGLE,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_6080000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +105001,10501,105,70,FEMALE,5.9_9999999999990141e+00,MARRIED,1.3_0000000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,True,True,1.0_6600000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,6.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +105002,10501,105,9,FEMALE,2.4_8484848484848486e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +106001,10601,106,71,MALE,5.9_9999999999968203e+00,SINGLE,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.0_7120000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +107001,10701,107,72,FEMALE,5.9_9999999999962874e+00,SINGLE,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_7640000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +108001,10801,108,73,MALE,5.9_9999999999957989e+00,MARRIED,1.4_5600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_8160000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default +109001,10901,109,74,FEMALE,5.9_9999999999953104e+00,SINGLE,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.0_8680000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +110001,11001,110,20,MALE,6.0_0000000000000799e+00,SINGLE,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.0_9200000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,1.0_0000000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +110002,11001,110,14,MALE,2.4_7058823529412130e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +111001,11101,111,21,FEMALE,5.9_9999999999999467e+00,MARRIED,1.6_1200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.0_9720000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +112001,11201,112,22,MALE,4.0_5095541401272818e+00,SINGLE,1.6_6400000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.1_0240000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +113001,11301,113,23,FEMALE,7.9_5569620253166043e+00,SINGLE,1.7_1600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_0760000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +114001,11401,114,24,MALE,4.0_3773584905660687e+00,MARRIED,1.7_6800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_1280000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +115001,11501,115,25,FEMALE,7.9_6875000000006217e+00,SINGLE,1.8_2000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.1_1800000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,9.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +115002,11501,115,11,FEMALE,2.4_5714285714285419e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +116001,11601,116,26,MALE,4.0_2484472049693398e+00,SINGLE,1.8_7200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.1_2320000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +117001,11701,117,27,FEMALE,4.0_1851851851857766e+00,MARRIED,1.9_2400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_2840000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,False,default +118001,11801,118,28,MALE,7.9_8773006134971375e+00,SINGLE,1.9_7600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_3360000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +119001,11901,119,29,FEMALE,4.0_0609756097560155e+00,SINGLE,2.0_2800000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.1_3880000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +120001,12001,120,30,MALE,7.9_9999999999998934e+00,MARRIED,2.0_8000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.1_4400000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,6.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +120002,12001,120,8,MALE,9.5_5555555555555713e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +121001,12101,121,31,FEMALE,8.0_0602409638551649e+00,SINGLE,2.1_3200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.1_4920000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.2_5880000000000018e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,True,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +122001,12201,122,32,MALE,3.9_8802395209580407e+00,SINGLE,2.1_8400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_5440000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +123001,12301,123,33,FEMALE,3.9_8214285714287186e+00,MARRIED,2.2_3600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_5960000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,True,True,default +124001,12401,124,34,MALE,8.0_2366863905323768e+00,SINGLE,2.2_8800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_6480000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +125001,12501,125,35,FEMALE,3.9_7058823529411775e+00,SINGLE,1.0_4000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.1_7000000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,1.2_5600000000000000e+03,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +125002,12501,125,13,FEMALE,9.9_5454545454545148e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +126001,12601,126,36,MALE,3.9_6491228070177248e+00,MARRIED,1.0_9200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.1_7520000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,True,False,default +127001,12701,127,37,FEMALE,3.9_5930232558138151e+00,SINGLE,1.1_4400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_8040000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +128001,12801,128,38,MALE,3.9_5375722543343144e+00,SINGLE,1.1_9600000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_8560000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +129001,12901,129,39,FEMALE,8.0_5172413793090058e+00,MARRIED,1.2_4800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.1_9080000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +130001,13001,130,40,MALE,3.9_4285714285708488e+00,SINGLE,1.3_0000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.1_9600000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,True,False,1.0_0000000000000000e+03,9.0_0000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,True,default +130002,13001,130,10,MALE,2.0_2941176470588092e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default +131001,13101,131,41,FEMALE,8.0_6249999999993783e+00,SINGLE,1.3_5200000000000000e+03,3.5_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,False,1.2_0120000000000000e+04,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,True,default +132001,13201,132,42,MALE,8.0_6779661016936700e+00,MARRIED,1.4_0400000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.2_0640000000000000e+04,1.0_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +133001,13301,133,43,FEMALE,3.9_2696629213477744e+00,SINGLE,1.4_5600000000000000e+03,2.0_0000000000000000e+01,0.0_0000000000000000e+00,True,True,False,True,1.2_1160000000000000e+04,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,5.2_0000000000000000e+01,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +134001,13401,134,44,MALE,3.9_2178770949712296e+00,SINGLE,1.5_0800000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,False,False,1.2_1680000000000000e+04,2.0_8000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,0.0_0000000000000000e+00,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,False,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,1.0_4000000000000000e+02,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,0.0_0000000000000000e+00,5.2_0000000000000000e+01,True,False,False,False,default +135001,13501,135,45,FEMALE,3.9_1666666666655283e+00,MARRIED,1.5_6000000000000000e+03,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,True,True,False,1.2_2200000000000000e+04,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,7.8_0000000000000000e+02,7.8_0000000000000000e+02,5.2_0000000000000000e+01,1.3_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,8.5_6000000000000000e+02,1.0_4000000000000000e+02,True,1.0_4000000000000000e+02,7.2_8000000000000000e+02,2.1_3200000000000000e+03,2.0_8000000000000000e+03,2.0_0000000000000000e+01,1.0_4000000000000000e+02,5.2_0000000000000000e+01,2.6_0000000000000000e+01,1.3_0000000000000000e+01,5.0_0000000000000000e+02,5.2_0000000000000000e+01,5.0_0000000000000000e+00,2.6_0000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,3.6_4000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,5.2_0000000000000000e+01,0.0_0000000000000000e+00,0.0_0000000000000000e+00,4.1_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,1.0_4000000000000000e+02,1.5_6000000000000000e+02,2.0_8000000000000000e+02,2.6_0000000000000000e+02,True,0.0_0000000000000000e+00,3.1_2000000000000000e+02,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,1.0_4000000000000000e+02,2.6_0000000000000000e+02,2.0_8000000000000000e+02,1.0_4000000000000000e+02,1.5_6000000000000000e+02,1.0_0000000000000000e+00,1.0_0000000000000000e+00,True,5.2_0000000000000000e+01,0.0_0000000000000000e+00,True,False,False,False,default +135002,13501,135,15,FEMALE,4.6_7142857142856904e+00,SINGLE,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,False,False,False,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,2.0_8000000000000000e+02,1.0_4000000000000000e+02,5.2_0000000000000000e+01,1.5_6000000000000000e+02,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,True,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,0.0_0000000000000000e+00,0.0_0000000000000000e+00,False,True,False,False,default diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/schema.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/schema.json index a755b50aa2..e195432e98 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/schema.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/sources/schema.json @@ -32,6 +32,7 @@ "access_fund": "float64", "afcs_reported": "float64", "age": "int64", + "annuity_and_trust_income": "float64", "attendance_allowance_reported": "float64", "bsp_reported": "float64", "care_hours": "float64", diff --git a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json index 61db8463df..0693e4a0c4 100644 --- a/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json +++ b/packages/microcosm-graph/tests/fixtures/parity/uk_spine/uk_spine.json @@ -1 +1 @@ -{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"e7beb407fa3d58f989e55aaec701c4ded2f16c50bafaff787d4e22fbac357e10","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"770d3dd64aa5259d41b77ccebe5c2e2391500a63bccaf0d11defe322fa710922","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"8323227c614289f0aca067f8cf9beeb7cb32fc5745debde5851262fab77cedd2","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage trading_allowance_receipts.","id":"trading_allowance_receipts","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","lifetime_isa_payments","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.trading_allowance_receipts@1","mass":"conserve","outputs":[{"column":"self_employment_gross_receipts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"trading_allowance_receipts","stage_contract_sha256":"7b7b687a3139167e16917f26cea8400f55604efa7528ccf3b1a9876946bd7b31","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} +{"country":"uk","nodes":[{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Load the source-bound UK FRS root population.","id":"create_uk_frs","inputs":[],"kernel":"uk.create@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"annuity_and_trust_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"sample_fraction":1.0,"sample_seed":578,"stage_contract_sha256":"756488de1d60cf50a2f4969e876f17d9ee5942515073917707790ec0d3df2b2a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"create","weights":null},{"base":"create_uk_frs","citation":"","description":"Ownership boundary for the source-assembling root stage.","id":"frs_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"base":null,"citation":"","description":"Claim the cells assembled by the UK FRS root transform.","id":"frs_spine","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"gender","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"months_since_last_birthday","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"marital_status","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hours_worked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"care_hours","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_care_hours_in_household","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_household_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_benunit_head","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_parent","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_blind","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_uc_claimant","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_claimant_or_partner","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_hbai_dependent_child","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_boarder","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent_paid_as_lodger","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"annuity_and_trust_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"spousal_maintenance_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"miscellaneous_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_transfer_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"lump_sum_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loan_repayments","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_sick_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_maternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"statutory_paternity_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"student_loans","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"access_fund","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"healthy_start_vouchers","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_breakfasts","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_fruit_veg","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"free_school_meals","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maintenance_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"childcare_expenses","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_asked","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_bonus_amount","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"incapacity_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_married","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dependent_children","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"liable_for_share_of_household_rent","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"region","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_single_adult_raw","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"external_child_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{},"population":"frs_spine.boundary","sources":[],"structural":"none","weights":null},{"base":"frs_spine.boundary","citation":"","description":"Ownership boundary before age_tail rewrites.","id":"age_tail.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage age_tail.","id":"age_tail","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["external_child_payments","region"],"entity":"household","rows":"all"},{"columns":["gender"],"entity":"person","rows":"all"}],"kernel":"uk.stage.age_tail@1","mass":"conserve","outputs":[{"column":"age","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"age_tail","stage_contract_sha256":"963a34f38caede2525e3b8735f904bb70a1bbef5a272f0eefd4346343444484f","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_relationships.","id":"frs_relationships","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_household_head"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_relationships@1","mass":"conserve","outputs":[{"column":"relationship_to_head","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_role","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_family_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_looked_after_by_local_authority","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"ons_household_type","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_relationships","stage_contract_sha256":"85aca92dcc0590c2147cfc7e0886664f26cd8e1bc0b1de728d11fa567e9fd8b4","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_employment.","id":"frs_employment","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_employment@1","mass":"conserve","outputs":[{"column":"employment_status","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_sector","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"sic_industry_division","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_employment","stage_contract_sha256":"ddbefaf05b44788d794a6e4b0e8926c14318d66e50d2f11f50ca549538bbf60c","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_council_tax.","id":"frs_council_tax","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","sic_industry_division"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_council_tax@1","mass":"conserve","outputs":[{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_council_tax","stage_contract_sha256":"06804f54c12d25f2afcb31eec27789802f663cb42689a932dc32f3ba5fc05fff","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_disability.","id":"frs_disability","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax","region"],"entity":"household","rows":"all"},{"columns":["afcs_reported","age","attendance_allowance_reported","dla_m_reported","dla_sc_reported","esa_contrib_reported","esa_income_reported","iidb_reported","incapacity_benefit_reported","pip_dl_reported","pip_m_reported","sda_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_disability@1","mass":"conserve","outputs":[{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_disability","stage_contract_sha256":"ac500b4cb1bc04d4fb72d198592dd376d61da8c150921a6ac53914ac18be0508","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education.","id":"frs_education","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","esa_contrib_reported","esa_income_reported","is_severely_disabled_for_benefits","jsa_contrib_reported","jsa_income_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education@1","mass":"conserve","outputs":[{"column":"current_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"highest_education","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_non_advanced_education","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"is_in_approved_training","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_started_or_accepted_current_education_or_training","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_before_universal_credit_qualifying_young_person_terminal_date","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"adult_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"child_ema","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"reports_outstanding_student_loan","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"age_left_full_time_education","dtype":"int64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education","stage_contract_sha256":"592ddc77703f19bb3e1d48b6aecffc98b4e2abd3379db84a06e011bde4fa5549","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_legacy_proxies.","id":"frs_legacy_proxies","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_legacy_proxies@1","mass":"conserve","outputs":[{"column":"legacy_jobseeker_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_health_condition_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"esa_support_group_proxy","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_legacy_proxies","stage_contract_sha256":"1ecf761cf3fa7180da15659e138e67a8654e58272b4fde28344aa27a874ad0aa","time_period":"2024"},"population":"age_tail.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"age_tail.boundary","citation":"","description":"Ownership boundary before frs_education_grant_split rewrites.","id":"frs_education_grant_split.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_education_grant_split.","id":"frs_education_grant_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_education_grant_split@1","mass":"conserve","outputs":[{"column":"disabled_students_allowance_eligible_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"education_grants","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_education_grant_split","stage_contract_sha256":"8718f014b90498c2cc7c754289775ca4a41452d9b978d8cbc5f34b64cbdc7df2","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_take_up.","id":"frs_take_up","inputs":[{"columns":["frs_benunit_capital","is_married"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","child_benefit_reported","education_grants","is_uc_claimant","months_since_last_birthday","pension_credit_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"would_claim_uc_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_take_up","stage_contract_sha256":"78aec80408c50455b37308e5a977fb70df3ecf915d6c1e8f80715ad9b58e62cf","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_person_draws.","id":"frs_person_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employment_income","employment_status","max_free_entitlement_hours_used"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_person_draws@1","mass":"conserve","outputs":[{"column":"would_claim_marriage_allowance","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"would_claim_scp","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"attends_private_school_random_draw","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"tax_free_childcare_spend_routed_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"is_apprentice","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_person_draws","stage_contract_sha256":"112c502d702c640dedbc2dca7d1cfe5ae43e0f0e3ba6acfe49c738dbbfb7e693","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_household_draws.","id":"frs_household_draws","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_household_draws@1","mass":"conserve","outputs":[{"column":"household_owns_tv","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"would_evade_tv_licence_fee","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residential_property_purchased_is_first_home","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"property_purchased","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_household_draws","stage_contract_sha256":"c74c63b09264319c4bf0049dabba00ecd0ce660beb7b53d6dae71518434bc949","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_brma.","id":"frs_brma","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_brma@1","mass":"conserve","outputs":[{"column":"brma","dtype":"string","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_brma","stage_contract_sha256":"4285376b37299d375ed583b7f6b1747bd8b7cb1c8c0d19a36481156b5314a854","time_period":"2024"},"population":"frs_education_grant_split.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"frs_education_grant_split.boundary","citation":"","description":"Freeze the assembled-spine gate population.","id":"frs_brma.checkpoint","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_hmrc_spine_leaves.","id":"frs_hmrc_spine_leaves","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["brma","region"],"entity":"household","rows":"all"},{"columns":["age","employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_hmrc_spine_leaves@1","mass":"conserve","outputs":[{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"ossben_identifiable_subset","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"srp_regular_code5","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_hmrc_spine_leaves","stage_contract_sha256":"b6445e712bf4801a9bf73c04dccf09bb0bb8c86387290d4aa3f72a5a51ddfa14","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage frs_annual_income_spells.","id":"frs_annual_income_spells","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","employer_pension_contributions","employment_income","gender","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.frs_annual_income_spells@1","mass":"conserve","outputs":[{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"frs_annual_income_spells","stage_contract_sha256":"67dc8501d9cd8d1ddd0fe351ea384fd3f92be98b370e53383a7a915b95729937","time_period":"2024"},"population":"frs_brma.checkpoint","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"frs_brma.checkpoint","citation":"","description":"Run structural UK stage spi_support_channel.","id":"spi_support_channel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_support_channel@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","source_household_id","int64"],["household","source_year","int64"],["household","source_household_key","string"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_support_channel","stage_contract_sha256":"2c682605139c0a8f96e8ba45a2c03f506d3f758ef437841066a8fdb8b74269b6","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_support_channel.","id":"spi_support_channel.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"source_household_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_year","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"source_household_key","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["person.person_source_id","person.person_support_channel","person.person_support_clone_index","benunit.benunit_source_id","benunit.benunit_support_channel","benunit.benunit_support_clone_index","household.source_household_id","household.source_year","household.source_household_key","household.household_source_id","household.household_support_channel","household.household_support_clone_index","household.household_is_spi_synthetic"]},"population":"spi_support_channel","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"spi_support_channel","citation":"","description":"Run structural UK stage spi_income_band_donors.","id":"spi_income_band_donors","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.spi_income_band_donors@1","mass":"declared","outputs":[],"params":{"expand_cells":[["person","person_source_id","int64"],["person","person_support_channel","string"],["person","person_support_clone_index","int64"],["benunit","benunit_source_id","int64"],["benunit","benunit_support_channel","string"],["benunit","benunit_support_clone_index","int64"],["household","household_source_id","int64"],["household","household_support_channel","string"],["household","household_support_clone_index","int64"],["household","household_is_spi_synthetic","bool"],["household","household_is_spi_income_band_donor","bool"],["household","spi_income_band_donor_lower_bound","float64"],["person","person_is_spi_income_band_carrier","bool"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_income_band_donors","stage_contract_sha256":"90e843841058517a29523cc1f5a74cf83007dcb579b2cf7ea82d69180e741a0d","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by spi_income_band_donors.","id":"spi_income_band_donors.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"person_source_id","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_channel","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_support_clone_index","dtype":"int64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_source_id","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_channel","dtype":"string","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"benunit_support_clone_index","dtype":"int64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_source_id","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_channel","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_support_clone_index","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_synthetic","dtype":"bool","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"household_is_spi_income_band_donor","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"spi_income_band_donor_lower_bound","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"person_is_spi_income_band_carrier","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_spi_income_band_donor","household.spi_income_band_donor_lower_bound","person.person_is_spi_income_band_carrier"]},"population":"spi_income_band_donors","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_spi_income_spine.","id":"hmrc_spi_income_spine","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","rent_paid_as_boarder","rent_paid_as_lodger","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","maintenance_expenses","childcare_expenses","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","ssmg_reported","incapacity_benefit_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","ossben_identifiable_subset","srp_regular_code5","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_spi_income_spine@1","mass":"conserve","outputs":[{"column":"charitable_investment_gifts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"gift_aid","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_investment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_employment_benefits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employment_expenses","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_social_security_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_taxable_termination_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_miscellaneous_employment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_other_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_state_pension_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_employed_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_earned_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_total_investment_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"hmrc_spi_assessable_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"savings_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dividend_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employer_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"personal_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"individual_savings_account_interest_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"attendance_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"state_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"carers_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"winter_fuel_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"trading_loss","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"loss_relief","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ni_class_4_losses_brought_forward","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_income_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_pay","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_unemployment_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"hmrc_spi_incapacity_benefit_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"self_employment_income_other_spells","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"private_pension_income_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"contributory_benefits_annual_share","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"annuity_and_trust_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"aa_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_sc_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"dla_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_m_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pip_dl_category","dtype":"string","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_startup_period","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"uc_is_in_gainful_self_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_includes_support_component","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"reports_rent_from_other_property","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"stands_as_sole_owner_or_partner_of_company","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_engaged_in_owned_company_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_is_main_employment","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_trade","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_company_carries_on_property_business","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"person_is_spi_income_recipient","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_spi_income_spine","stage_contract_sha256":"b5d46b617c8962a08b894384a1ef343843d13df9eeeda4b4d55e954aaea3fb6e","time_period":"2024"},"population":"spi_income_band_donors","sources":["frs"],"structural":"none","weights":null},{"base":"spi_income_band_donors","citation":"","description":"Ownership boundary before spi_housing_shell rewrites.","id":"spi_housing_shell.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_housing_shell.","id":"spi_housing_shell","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["council_tax_single_adult_raw","household_support_channel","ons_household_type","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","is_household_head","other_investment_income","person_is_spi_income_recipient","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_housing_shell@1","mass":"conserve","outputs":[{"column":"tenure_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"accommodation_type","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_band","dtype":"string","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"num_bedrooms","dtype":"int64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_reported","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"rent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_interest_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"mortgage_capital_repayment","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"structural_insurance_payments","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_service_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"water_and_sewerage_charges","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"domestic_rates","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"subrent","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_rebate","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"housing_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"council_tax_benefit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_housing_shell","stage_contract_sha256":"524549b7dfbd0fceb505311eb0c3b923cfe3b11a8acd5ecfbfbcbb477e142eb1","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_wealth.","id":"was_wealth","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_wealth@1","mass":"conserve","outputs":[{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"corporate_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"private_pension_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gross_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"net_financial_wealth","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"savings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"num_vehicles","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cash_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"mortgage_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"consumer_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"student_loan_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"directly_held_shares","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"unit_and_investment_trusts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_secured_debt","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_wealth","stage_contract_sha256":"e648f94320deffd15d4e7c2f51e044e8b3572b24bb62d65f157edcb8f31753b5","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage was_lisa.","id":"was_lisa","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.was_lisa@1","mass":"conserve","outputs":[{"column":"has_lifetime_isa","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_lifetime_isa_balance","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"was_lisa","stage_contract_sha256":"850da37e6ae08cfe610c53a44cbc05ebbef8729bd7d688609af465fe08ec88fe","time_period":"2024"},"population":"spi_housing_shell.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_housing_shell.boundary","citation":"","description":"Ownership boundary before regional_property_uprating rewrites.","id":"regional_property_uprating.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_property_uprating.","id":"regional_property_uprating","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_lifetime_isa_balance","household_support_channel","region"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_property_uprating@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"owned_land","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"other_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"non_residential_property_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_property_uprating","stage_contract_sha256":"f45db95fde3f93731c0925b9bf8c12021921df2e4908770acdec1e3c97889277","time_period":"2024"},"population":"regional_property_uprating.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"regional_property_uprating.boundary","citation":"","description":"Run structural UK stage high_value_home_support.","id":"high_value_home_support","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.high_value_home_support@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_high_value_support_copy","bool"],["household","high_value_support_copies","int64"],["household","high_value_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"high_value_home_support","stage_contract_sha256":"174f4b38228d98107bee1639d1a297a2748bb618e87c7bd0a6c869c6ab06f8fa","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by high_value_home_support.","id":"high_value_home_support.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_high_value_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"high_value_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_high_value_support_copy","household.high_value_support_copies","household.high_value_support_copy_index"]},"population":"high_value_home_support","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage regional_home_values.","id":"regional_home_values","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["high_value_support_copy_index","household_is_high_value_support_copy","household_source_id","region","tenure_type"],"entity":"household","rows":"all"},{"columns":["age"],"entity":"person","rows":"all"}],"kernel":"uk.stage.regional_home_values@1","mass":"conserve","outputs":[{"column":"main_residence_value","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_wealth","dtype":"float64","entity":"household","ownership":"produced","rewrite":true,"rows":"all"},{"column":"main_residence_value_rank_basis","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"regional_home_values","stage_contract_sha256":"48e8a622c8830a54a4c48d9d8cb4f011751aa05d7cb5f6c7f0e06e1121b720b1","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_components.","id":"property_components","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["main_residence_value_rank_basis","non_residential_property_value","other_residential_property_value","region","subrent"],"entity":"household","rows":"all"},{"columns":["age","is_household_head","person_is_spi_income_recipient","person_support_channel"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_components@1","mass":"conserve","outputs":[{"column":"property_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_finance_costs","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"property_rental_income","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_components","stage_contract_sha256":"5b88e8909f877c5940e05d10c5564c6c647eae4c94e0ec724c4cb5ef5b87d6ee","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage property_purchases.","id":"property_purchases","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.property_purchases@1","mass":"conserve","outputs":[{"column":"additional_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"non_residential_property_purchased","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"property_purchases","stage_contract_sha256":"2623c8067ed3d6637afe470897a7301211b8856108c88f8dbbc4f32f654f53d6","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage nts_bus_travel.","id":"nts_bus_travel","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.nts_bus_travel@1","mass":"conserve","outputs":[{"column":"local_bus_use_band","dtype":"int64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_in_london_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"other_local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_trips","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"bus_pass_eligible","dtype":"bool","entity":"person","ownership":"produced","rows":"all"},{"column":"local_bus_single_fare_share","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"household_local_bus_trips","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"nts_bus_travel","stage_contract_sha256":"f2df489860bb76ee21452200745b39161a8928863568d765f2e6c72d806df796","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage lcfs_consumption.","id":"lcfs_consumption","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.lcfs_consumption@1","mass":"conserve","outputs":[{"column":"food_and_non_alcoholic_beverages_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"alcohol_and_tobacco_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"clothing_and_footwear_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"housing_water_and_electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"household_furnishings_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"health_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"transport_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"communication_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"recreation_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"education_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"restaurants_and_hotels_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"miscellaneous_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"petrol_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"diesel_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_fare_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"domestic_energy_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"electricity_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"gas_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"liquid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"solid_fuel_consumption","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"has_fuel_consumption","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"uses_energy_prepayment_meter","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"wine_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"spirits_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_fermented_litres","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"beer_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cider_draught_share","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigarettes_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"hand_rolling_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"cigars_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"other_tobacco_grams_per_week","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_gaming_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"pool_betting_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bingo_net_receipts","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"national_lottery_ticket_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_casino_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_lower_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_standard_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"machine_games_higher_rate_net_takings","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"land_based_fixed_odds_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_uk_horseracing_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"remote_other_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"betting_exchange_commission","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"horse_and_dog_pool_betting_net_losses","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"lcfs_consumption","stage_contract_sha256":"5e5c0a0171e753e33df763b25985f7a0b2cfe3bbb880c01982c5157bf47b2ace","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_vat.","id":"etb_vat","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_vat@1","mass":"conserve","outputs":[{"column":"full_rate_vat_expenditure_rate","dtype":"float64","entity":"household","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_vat","stage_contract_sha256":"216b28835eba7a952243134dffbb45a1b3a0cdff2e3e7d0e94e2acbf754052b5","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage etb_services.","id":"etb_services","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share"],"entity":"person","rows":"all"}],"kernel":"uk.stage.etb_services@1","mass":"conserve","outputs":[{"column":"dfe_education_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"bus_subsidy_spending","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"rail_usage","dtype":"float64","entity":"household","ownership":"produced","rows":"all"},{"column":"a_and_e_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"admitted_patient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"outpatient_visits","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_a_and_e_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_admitted_patient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"nhs_outpatient_spending","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"etb_services","stage_contract_sha256":"fe00587c55eae7aaa67905360a427fec071741c7985d488a04052bbbc20505e9","time_period":"2024"},"population":"high_value_home_support","sources":["frs"],"structural":"none","weights":null},{"base":"high_value_home_support","citation":"","description":"Ownership boundary before uc_reporter_redraw rewrites.","id":"uc_reporter_redraw.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_reporter_redraw.","id":"uc_reporter_redraw","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_reporter_redraw@1","mass":"conserve","outputs":[{"column":"universal_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_reporter_redraw","stage_contract_sha256":"b03d4947d6cb0404ba410c548e1850d5abe0c7dae2dc097d419b63eea04920a9","time_period":"2024"},"population":"uc_reporter_redraw.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_reporter_redraw.boundary","citation":"","description":"Ownership boundary before spi_benefit_coherence rewrites.","id":"spi_benefit_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage spi_benefit_coherence.","id":"spi_benefit_coherence","inputs":[{"columns":["benunit_support_channel","frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["aa_category","age","attendance_allowance_reported","dla_m_category","dla_m_reported","dla_sc_category","dla_sc_reported","esa_contrib_reported","incapacity_benefit_reported","is_uc_claimant","person_source_id","person_support_channel","pip_dl_category","pip_dl_reported","pip_m_category","pip_m_reported","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.spi_benefit_coherence@1","mass":"conserve","outputs":[{"column":"jsa_contrib_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"jsa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"esa_income_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"income_support_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"working_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_tax_credit_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"sda_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"ssmg_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"iidb_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"afcs_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"bsp_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"war_widows_pension_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"widowed_parents_allowance_reported","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_enhanced_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"is_severely_disabled_for_benefits","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"receives_benefits_in_own_right","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"spi_benefit_coherence","stage_contract_sha256":"ad3bfd51b377963c1d976a82416283aeb7b80d9f89b44c0e5db79e3598e815d5","time_period":"2024"},"population":"spi_benefit_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"spi_benefit_coherence.boundary","citation":"","description":"Ownership boundary before uc_capital_coherence rewrites.","id":"uc_capital_coherence.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_capital_coherence.","id":"uc_capital_coherence","inputs":[{"columns":["benunit_support_channel","dependent_children","is_married"],"entity":"benunit","rows":"all"},{"columns":["non_residential_property_secured_debt","non_residential_property_value","other_residential_property_secured_debt","other_residential_property_value","owned_land","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","individual_savings_account_interest_income","is_benunit_head","is_household_head","is_parent","other_investment_income","person_support_channel","savings_interest_income","universal_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_capital_coherence@1","mass":"conserve","outputs":[{"column":"uc_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"pension_credit_reported_capital","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"frs_benunit_capital","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_capital_coherence","stage_contract_sha256":"67478de55540a138448d9da387a64e5e2afbb17caf17b244bc3baaa34de56022","time_period":"2024"},"population":"uc_capital_coherence.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_capital_coherence.boundary","citation":"","description":"Ownership boundary before uc_take_up rewrites.","id":"uc_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_take_up.","id":"uc_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_take_up","stage_contract_sha256":"410c914b9bf0d0f8a4831c825c48e63d8fd245af627e2ae985525507e5c1694f","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_legacy_closure_take_up.","id":"uc_legacy_closure_take_up","inputs":[{"columns":["frs_benunit_capital","would_claim_uc"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","child_tax_credit_reported","esa_income_reported","housing_benefit_reported","income_support_reported","is_claimant_or_partner","jsa_income_reported","universal_credit_reported","working_tax_credit_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_legacy_closure_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_uc_at_legacy_closure","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_legacy_closure_take_up","stage_contract_sha256":"18e61348e905303d73e04011a489a7f8d4775aad7c6c13526d02f7188e10fae9","time_period":"2024"},"population":"uc_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"uc_take_up.boundary","citation":"","description":"Ownership boundary before pension_credit_take_up rewrites.","id":"pension_credit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage pension_credit_take_up.","id":"pension_credit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.pension_credit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_pc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"has_mixed_age_couple_pension_credit_saving","dtype":"bool","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"pension_credit_take_up","stage_contract_sha256":"e887dbbb186cb79f6d3fc9a629269dbac4a43381b9574df65353b816f01a3a35","time_period":"2024"},"population":"pension_credit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"pension_credit_take_up.boundary","citation":"","description":"Ownership boundary before child_benefit_take_up rewrites.","id":"child_benefit_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage child_benefit_take_up.","id":"child_benefit_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.child_benefit_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_child_benefit","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"child_benefit_opts_out","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"child_benefit_take_up","stage_contract_sha256":"e897108e9009f243a1ec32b1a998c482ab59965fd44877b1ec071b251f98291a","time_period":"2024"},"population":"child_benefit_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"base":"child_benefit_take_up.boundary","citation":"","description":"Ownership boundary before carers_allowance_take_up rewrites.","id":"carers_allowance_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage carers_allowance_take_up.","id":"carers_allowance_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.carers_allowance_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_carers_allowance","dtype":"bool","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"carers_allowance_take_up","stage_contract_sha256":"dc1f00f90dd7e3f09d7da9601c85b45f3145e4c053d237e1892b280b24d0978f","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage uc_deduction_attributes.","id":"uc_deduction_attributes","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","would_claim_carers_allowance"],"entity":"person","rows":"all"}],"kernel":"uk.stage.uc_deduction_attributes@1","mass":"conserve","outputs":[{"column":"uc_deduction_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_type_random_draw","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_latent_deduction_rate","dtype":"float64","entity":"benunit","ownership":"produced","rows":"all"},{"column":"uc_deduction_combination","dtype":"string","entity":"benunit","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"uc_deduction_attributes","stage_contract_sha256":"6bc7e3ec1a5712e23ca1b7d2956e8b17f2526b94431ba3e5a9294b04658e4fe0","time_period":"2024"},"population":"carers_allowance_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"carers_allowance_take_up.boundary","citation":"","description":"Run structural UK stage cgt_support_split.","id":"cgt_support_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_support_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_support_copy","bool"],["household","cgt_support_copies","int64"],["household","cgt_support_copy_index","int64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_support_split","stage_contract_sha256":"477b66768c4881f450ac33c68da201a9e6b58cea6c71962041323d134f645ede","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_support_split.","id":"cgt_support_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_support_copy","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copies","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_support_copy_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_support_copy","household.cgt_support_copies","household.cgt_support_copy_index"]},"population":"cgt_support_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_support_split","citation":"","description":"Run structural UK stage cgt_incidence_clone.","id":"cgt_incidence_clone","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_clone@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_capital_gains_clone","bool"],["person","capital_gains","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_clone","stage_contract_sha256":"29198953c5522c9b996b981478909916870977a79e9f2feb2db7e9e72ef15de8","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_incidence_clone.","id":"cgt_incidence_clone.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_capital_gains_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_capital_gains_clone","person.capital_gains"]},"population":"cgt_incidence_clone","sources":[],"structural":"none","weights":null},{"base":"cgt_incidence_clone","citation":"","description":"Ownership boundary before hmrc_cgt_gains_spine rewrites.","id":"hmrc_cgt_gains_spine.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_gains_spine.","id":"hmrc_cgt_gains_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cgt_support_copies","corporate_wealth","gross_financial_wealth","household_is_cgt_support_copy","non_residential_property_value","other_residential_property_value","region"],"entity":"household","rows":"all"},{"columns":["age","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_gains_spine@1","mass":"conserve","outputs":[{"column":"capital_gains","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_gains_spine","stage_contract_sha256":"42a3f2c4434a274de28f0a1cabbb790e95add5d27f11a35afa8782a143833a2e","time_period":"2024"},"population":"hmrc_cgt_gains_spine.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"hmrc_cgt_gains_spine.boundary","citation":"","description":"Run structural UK stage cgt_incidence_anchor.","id":"cgt_incidence_anchor","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_is_capital_gains_clone","region"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","dividend_income","employment_income","individual_savings_account_interest_income","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_incidence_anchor@1","mass":"conserve","outputs":[],"params":{"expand_cells":[],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_incidence_anchor","stage_contract_sha256":"ed54c55428e56d7597c57c8459b014aa43b2ff9495b903f0b789bd5e4264ca9a","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":"cgt_incidence_anchor","citation":"","description":"Run structural UK stage cgt_residential_split.","id":"cgt_residential_split","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains"],"entity":"person","rows":"all"}],"kernel":"uk.stage.expand.cgt_residential_split@1","mass":"conserve","outputs":[],"params":{"expand_cells":[["household","household_is_cgt_residential_clone","bool"],["household","cgt_residential_clone_index","int64"],["person","cgt_residential_probability","float64"],["person","capital_gains_residential_property","float64"]],"expand_weight_entity":"household","expand_weight_kind":"importance","numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"cgt_residential_split","stage_contract_sha256":"13206bb3c33dc40dd2c093d9d8beba06bfc4a616d0b670d055f78f6e54ef3a1f","time_period":"2024"},"population":null,"sources":["frs"],"structural":"expand","weights":null},{"base":null,"citation":"","description":"Own the cells materialized by cgt_residential_split.","id":"cgt_residential_split.owned","inputs":[],"kernel":"uk.claim@1","mass":"conserve","outputs":[{"column":"household_is_cgt_residential_clone","dtype":"bool","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_clone_index","dtype":"int64","entity":"household","ownership":"produced","rows":"all"},{"column":"cgt_residential_probability","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_residential_property","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"materialized_expand_outputs":["household.household_is_cgt_residential_clone","household.cgt_residential_clone_index","person.cgt_residential_probability","person.capital_gains_residential_property"]},"population":"cgt_residential_split","sources":[],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage hmrc_cgt_asset_type_spine.","id":"hmrc_cgt_asset_type_spine","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["corporate_wealth","gross_financial_wealth","other_residential_property_value","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","capital_gains","capital_gains_residential_property","dividend_income","property_income","reports_rent_from_other_property","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.hmrc_cgt_asset_type_spine@1","mass":"conserve","outputs":[{"column":"capital_gains_asset_type","dtype":"string","entity":"person","ownership":"produced","rows":"all"},{"column":"capital_gains_badr","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"hmrc_cgt_asset_type_spine","stage_contract_sha256":"e6775a1745cfbb9093018d3d0f19308a99e0a6f48280583b1ac3f4131be8dd27","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage salary_sacrifice.","id":"salary_sacrifice","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr"],"entity":"person","rows":"all"}],"kernel":"uk.stage.salary_sacrifice@1","mass":"conserve","outputs":[{"column":"pension_contributions_via_salary_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"pension_contributions_via_bonus_sacrifice","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"employee_pension_contributions","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"employment_income","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"},{"column":"salary_sacrifice_pre_conversion_pay","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"salary_sacrifice","stage_contract_sha256":"3ab9191640a76c6605150116581a30afe6f6b6dadad13f7e8a31aaff940d6367","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage student_loans.","id":"student_loans","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["region"],"entity":"household","rows":"all"},{"columns":["age","age_left_full_time_education","current_education","highest_education","reports_outstanding_student_loan","salary_sacrifice_pre_conversion_pay","student_loan_repayments","student_loans"],"entity":"person","rows":"all"}],"kernel":"uk.stage.student_loans@1","mass":"conserve","outputs":[{"column":"student_loan_plan","dtype":"string","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"student_loans","stage_contract_sha256":"157d9ee607633e4246ed06eeee3aac3cdff98118e72400e18b84c11b3fd2b92b","time_period":"2024"},"population":"cgt_residential_split","sources":["frs"],"structural":"none","weights":null},{"base":"cgt_residential_split","citation":"","description":"Ownership boundary before childcare_copy_take_up rewrites.","id":"childcare_copy_take_up.boundary","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.identity@1","mass":"conserve","outputs":[],"params":{},"population":null,"sources":[],"structural":"filter","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage childcare_copy_take_up.","id":"childcare_copy_take_up","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_uc_childcare","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.childcare_copy_take_up@1","mass":"conserve","outputs":[{"column":"would_claim_tfc","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_extended_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_universal_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"would_claim_targeted_childcare","dtype":"bool","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"maximum_extended_childcare_hours_usage","dtype":"float64","entity":"benunit","ownership":"produced","rewrite":true,"rows":"all"},{"column":"max_free_entitlement_hours_used","dtype":"float64","entity":"person","ownership":"produced","rewrite":true,"rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"childcare_copy_take_up","stage_contract_sha256":"cdbb7e135b16fac7ca1bcd6c54222821e2976b4da99f10a60913efd0ba03c13c","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage private_school_attendance.","id":"private_school_attendance","inputs":[{"columns":["frs_benunit_capital","is_married","dependent_children","liable_for_share_of_household_rent","would_claim_child_benefit","child_benefit_opts_out","would_claim_pc","would_claim_uc","would_claim_tfc","would_claim_extended_childcare","would_claim_universal_childcare","would_claim_targeted_childcare","would_claim_uc_childcare","maximum_extended_childcare_hours_usage","benunit_source_id","benunit_support_channel","benunit_support_clone_index","uc_reported_capital","pension_credit_reported_capital","would_claim_uc_at_legacy_closure","has_mixed_age_couple_pension_credit_saving","uc_deduction_random_draw","uc_deduction_type_random_draw","uc_latent_deduction_rate","uc_deduction_combination"],"entity":"benunit","rows":"all"},{"columns":["region","tenure_type","accommodation_type","num_bedrooms","council_tax_reported","council_tax_band","council_tax_rebate","council_tax_single_adult_raw","water_and_sewerage_charges","domestic_rates","rent","subrent","mortgage_interest_repayment","mortgage_capital_repayment","structural_insurance_payments","housing_service_charges","external_child_payments","ons_household_type","council_tax","household_owns_tv","would_evade_tv_licence_fee","main_residential_property_purchased_is_first_home","property_purchased","brma","source_household_id","source_year","source_household_key","household_source_id","household_support_channel","household_support_clone_index","household_is_spi_synthetic","household_is_spi_income_band_donor","spi_income_band_donor_lower_bound","owned_land","property_wealth","corporate_wealth","private_pension_wealth","gross_financial_wealth","net_financial_wealth","main_residence_value","other_residential_property_value","non_residential_property_value","savings","num_vehicles","cash_isa","stocks_and_shares_isa","mortgage_debt","consumer_debt","directly_held_shares","unit_and_investment_trusts","other_residential_property_secured_debt","non_residential_property_secured_debt","household_lifetime_isa_balance","household_is_high_value_support_copy","high_value_support_copies","high_value_support_copy_index","main_residence_value_rank_basis","additional_residential_property_purchased","non_residential_property_purchased","household_local_bus_trips","food_and_non_alcoholic_beverages_consumption","alcohol_and_tobacco_consumption","clothing_and_footwear_consumption","housing_water_and_electricity_consumption","household_furnishings_consumption","health_consumption","transport_consumption","communication_consumption","recreation_consumption","education_consumption","restaurants_and_hotels_consumption","miscellaneous_consumption","petrol_spending","diesel_spending","bus_fare_spending","domestic_energy_consumption","electricity_consumption","gas_consumption","liquid_fuel_consumption","solid_fuel_consumption","has_fuel_consumption","uses_energy_prepayment_meter","beer_litres","cider_litres","wine_litres","spirits_litres","other_fermented_litres","beer_draught_share","cider_draught_share","cigarettes_per_week","hand_rolling_tobacco_grams_per_week","cigars_grams_per_week","other_tobacco_grams_per_week","remote_gaming_net_losses","pool_betting_net_receipts","bingo_net_receipts","national_lottery_ticket_spending","land_based_casino_net_losses","machine_games_lower_rate_net_takings","machine_games_standard_rate_net_takings","machine_games_higher_rate_net_takings","land_based_fixed_odds_betting_net_losses","remote_uk_horseracing_betting_net_losses","remote_other_betting_net_losses","betting_exchange_commission","horse_and_dog_pool_betting_net_losses","full_rate_vat_expenditure_rate","dfe_education_spending","rail_subsidy_spending","bus_subsidy_spending","rail_usage","household_is_cgt_support_copy","cgt_support_copies","cgt_support_copy_index","household_is_capital_gains_clone","household_is_cgt_residential_clone","cgt_residential_clone_index"],"entity":"household","rows":"all"},{"columns":["age","gender","months_since_last_birthday","marital_status","hours_worked","care_hours","frs_care_hours_in_household","is_household_head","is_benunit_head","is_parent","is_blind","is_uc_claimant","is_claimant_or_partner","is_hbai_dependent_child","uc_is_in_startup_period","uc_is_in_gainful_self_employment","rent_paid_as_boarder","rent_paid_as_lodger","employment_income","self_employment_income","trading_loss","loss_relief","ni_class_4_losses_brought_forward","private_pension_income","annuity_and_trust_income","individual_savings_account_interest_income","savings_interest_income","dividend_income","other_investment_income","stands_as_sole_owner_or_partner_of_company","is_engaged_in_owned_company_trade","owned_company_is_main_employment","owned_company_carries_on_trade","owned_company_carries_on_property_business","owned_company_income_share","property_income","reports_rent_from_other_property","maintenance_income","spousal_maintenance_income","miscellaneous_income","private_transfer_income","lump_sum_income","student_loan_repayments","statutory_sick_pay","statutory_maternity_pay","statutory_paternity_pay","student_loans","access_fund","education_grants","healthy_start_vouchers","free_school_breakfasts","free_school_fruit_veg","free_school_meals","council_tax_benefit_reported","maintenance_expenses","childcare_expenses","personal_pension_contributions","employee_pension_contributions","pension_contributions_via_salary_sacrifice","salary_sacrifice_reported","salary_sacrifice_asked","frs_bonus_amount","child_benefit_reported","income_support_reported","housing_benefit_reported","attendance_allowance_reported","dla_sc_reported","dla_m_reported","iidb_reported","carers_allowance_reported","would_claim_carers_allowance","sda_reported","afcs_reported","ssmg_reported","pension_credit_reported","child_tax_credit_reported","working_tax_credit_reported","state_pension_reported","winter_fuel_allowance_reported","incapacity_benefit_reported","universal_credit_reported","pip_m_reported","pip_dl_reported","jsa_contrib_reported","jsa_income_reported","esa_contrib_reported","esa_income_reported","esa_includes_support_component","bsp_reported","war_widows_pension_reported","widowed_parents_allowance_reported","relationship_to_head","ons_family_role","ons_family_index","is_looked_after_by_local_authority","employment_status","employment_sector","sic_industry_division","aa_category","dla_sc_category","dla_m_category","pip_m_category","pip_dl_category","is_disabled_for_benefits","is_enhanced_disabled_for_benefits","is_severely_disabled_for_benefits","current_education","highest_education","is_in_non_advanced_education","is_in_approved_training","age_started_or_accepted_current_education_or_training","is_before_universal_credit_qualifying_young_person_terminal_date","adult_ema","child_ema","receives_benefits_in_own_right","reports_outstanding_student_loan","age_left_full_time_education","legacy_jobseeker_proxy","esa_health_condition_proxy","esa_support_group_proxy","disabled_students_allowance_eligible_expenses","max_free_entitlement_hours_used","would_claim_marriage_allowance","would_claim_scp","attends_private_school_random_draw","tax_free_childcare_spend_routed_share","is_apprentice","hmrc_spi_pay","hmrc_spi_unemployment_benefit_income","hmrc_spi_incapacity_benefit_income","ossben_identifiable_subset","srp_regular_code5","employer_pension_contributions","employment_income_annual_share","employment_income_other_spells","self_employment_income_annual_share","self_employment_income_other_spells","private_pension_income_annual_share","contributory_benefits_annual_share","person_source_id","person_support_channel","person_support_clone_index","person_is_spi_income_band_carrier","charitable_investment_gifts","gift_aid","hmrc_spi_employment_benefits","hmrc_spi_employment_expenses","hmrc_spi_other_social_security_income","hmrc_spi_taxable_termination_pay","hmrc_spi_miscellaneous_employment_income","hmrc_spi_other_income","hmrc_spi_state_pension_income","property_finance_costs","hmrc_spi_employed_income","hmrc_spi_total_earned_income","hmrc_spi_total_investment_income","hmrc_spi_assessable_income","person_is_spi_income_recipient","student_loan_balance","has_lifetime_isa","lifetime_isa_balance","property_rental_income","local_bus_use_band","bus_in_london_trips","other_local_bus_trips","local_bus_trips","bus_pass_eligible","local_bus_single_fare_share","a_and_e_visits","admitted_patient_visits","outpatient_visits","nhs_a_and_e_spending","nhs_admitted_patient_spending","nhs_outpatient_spending","capital_gains","cgt_residential_probability","capital_gains_residential_property","capital_gains_asset_type","capital_gains_badr","pension_contributions_via_bonus_sacrifice","salary_sacrifice_pre_conversion_pay","student_loan_plan"],"entity":"person","rows":"all"}],"kernel":"uk.stage.private_school_attendance@1","mass":"conserve","outputs":[{"column":"attends_private_school","dtype":"bool","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"private_school_attendance","stage_contract_sha256":"7e44379c0331fe4c9de05cd76a075c1a6aa22cf0dec6cd2f91b277e70f14a038","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage isa_subscriptions.","id":"isa_subscriptions","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["cash_isa","region","stocks_and_shares_isa"],"entity":"household","rows":"all"},{"columns":["age","attends_private_school","dividend_income","employment_income","gender","has_lifetime_isa","individual_savings_account_interest_income","lifetime_isa_balance","loss_relief","miscellaneous_income","private_pension_income","property_income","savings_interest_income","self_employment_income","state_pension_reported"],"entity":"person","rows":"all"}],"kernel":"uk.stage.isa_subscriptions@1","mass":"conserve","outputs":[{"column":"cash_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_balance","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"cash_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"stocks_and_shares_isa_subscriptions","dtype":"float64","entity":"person","ownership":"produced","rows":"all"},{"column":"lifetime_isa_payments","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"isa_subscriptions","stage_contract_sha256":"09637b7e0ed87faf0ddb2d160f171accb1acf3e9b53b708ac2d56c9d92dfe221","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null},{"artifact_outputs":[{"name":"stage_evidence","type":{"name":"microcosm.stage-evidence","schema_version":1}}],"base":null,"citation":"","description":"Run UK spine stage trading_allowance_receipts.","id":"trading_allowance_receipts","inputs":[{"columns":["frs_benunit_capital"],"entity":"benunit","rows":"all"},{"columns":["household_source_id","region"],"entity":"household","rows":"all"},{"columns":["age","lifetime_isa_payments","self_employment_income"],"entity":"person","rows":"all"}],"kernel":"uk.stage.trading_allowance_receipts@1","mass":"conserve","outputs":[{"column":"self_employment_gross_receipts","dtype":"float64","entity":"person","ownership":"produced","rows":"all"}],"params":{"numerical_dependencies":[["policyengine-uk","2.164.2"],["policyengine-core","3.33.3"],["numpy","2.4.6"],["pandas","3.0.3"],["scikit-learn","1.8.0"],["quantile-forest","1.4.2"]],"stage":"trading_allowance_receipts","stage_contract_sha256":"7b7b687a3139167e16917f26cea8400f55604efa7528ccf3b1a9876946bd7b31","time_period":"2024"},"population":"childcare_copy_take_up.boundary","sources":["frs"],"structural":"none","weights":null}],"sources":[{"codec":"csv-tables","description":"Content-bound UK FRS and donor fixture/source bundle.","name":"frs"}]} From 9f70c71e7fd02b61231fc4a6eb70b81cd29e6600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sun, 1 Nov 2026 16:45:11 +0000 Subject: [PATCH 49/67] Band the savings rebase once, moving savings by all bands' factor The rebase banded the tape on its income moved to 2023-24 with each record's savings at its own band's factor, repeating until no record changed band. That has no fixed point: the band sets the factor and the factor the band, and on the production tape records kept changing band from pass to pass, so the spine from 59ef8ecee took the twentieth pass. The tape is now banded once: each income leaf at its 2022-23 to 2023-24 factor and each rebased column at its factor over all bands, on the tape's 2022-23 bands. Banded so, the rebased tape reproduces the published amounts band by band, and the band-edge migration the consumers re-band on uprated income is counted once. A record whose band's factor differs from all bands' can still sit across an edge on its rebased income. The receipt records each column's banding factor in place of the pass count. A column the tape carries none of takes a factor of 1, as the all-bands factor does. Co-Authored-By: Claude Opus 5.5 --- .../1418-spi-donor-savings-rebase.changed.md | 2 +- docs/uk-income-anchors-280.md | 9 +- .../microcosm/build/uk_runtime/spi_income.py | 142 +++++++++--------- .../uk/test_uk_spi_savings_rebase.py | 38 ++++- 4 files changed, 110 insertions(+), 81 deletions(-) diff --git a/changelog.d/1418-spi-donor-savings-rebase.changed.md b/changelog.d/1418-spi-donor-savings-rebase.changed.md index 345fd8fdff..ae88223147 100644 --- a/changelog.d/1418-spi-donor-savings-rebase.changed.md +++ b/changelog.d/1418-spi-donor-savings-rebase.changed.md @@ -1 +1 @@ -The SPI income stage now rebases the 2022-23 tape's interest and other income to HMRC's published 2023-24 Table 3.7 amounts band by band (the published rows are vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then carries both to the frame's year on the OBR's savings income growth (October 2026 EFO, Table 4.5), the path the Table 3.7 band targets take (#1418 savings follow-up, #1428). Before, each column moved by its engine index from 2022 to 2024: other income by GDP per head (x1.09) where SPI's own other income grew x1.65 in the single year to 2023-24, and interest by ONS household interest (x2.27) where SPI's grew x2.69 in that year. The frame then carried about 70 percent of the Table 3.7 savings rows at design weights, and the solve met them by stretching the weights of the few households that carry them. Each band's factor is the published amount over the FACT-weighted amount of the tape's taxpayers in the band, as Table 3.7 counts taxpayers only. The tape is banded on its income moved to 2023-24, repeating until the rebased savings move no record across a band edge, so the band-edge migration its consumers re-band on uprated income is counted once. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income crosses the Personal Allowance by 2023-24, so a saver who becomes a taxpayer counts once; a flagged taxpayer below the first band sits in it (note 8), and any other record takes the factor of all bands. A band too thin to gross (under a tenth of its published amount) takes the factor of all bands, a column whose tape does not gross to the published amounts is left as it is and grows on its engine index from 2022-23, and a tape whose TAXPAYER codes are not 1 or 2 is refused. On the tape, the £1m-and-over band's other income outweighs its interest, as in the published table, so the rebase also undoes the split the two indices had flipped. +The SPI income stage now rebases the 2022-23 tape's interest and other income to HMRC's published 2023-24 Table 3.7 amounts band by band (the published rows are vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then carries both to the frame's year on the OBR's savings income growth (October 2026 EFO, Table 4.5), the path the Table 3.7 band targets take (#1418 savings follow-up, #1428). Before, each column moved by its engine index from 2022 to 2024: other income by GDP per head (x1.09) where SPI's own other income grew x1.65 in the single year to 2023-24, and interest by ONS household interest (x2.27) where SPI's grew x2.69 in that year. The frame then carried about 70 percent of the Table 3.7 savings rows at design weights, and the solve met them by stretching the weights of the few households that carry them. Each band's factor is the published amount over the FACT-weighted amount of the tape's taxpayers in the band, as Table 3.7 counts taxpayers only. The tape is banded once on its income moved to 2023-24, each income leaf at its own factor and each rebased column at its factor over all bands, so the band-edge migration its consumers re-band on uprated income is counted once; a record whose band's factor differs from that of all bands can still sit across an edge on its rebased income. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income crosses the Personal Allowance by 2023-24, so a saver who becomes a taxpayer counts once; a flagged taxpayer below the first band sits in it (note 8), and any other record takes the factor of all bands. A band too thin to gross (under a tenth of its published amount) takes the factor of all bands, a column whose tape does not gross to the published amounts is left as it is and grows on its engine index from 2022-23, and a tape whose TAXPAYER codes are not 1 or 2 is refused. On the tape, the £1m-and-over band's other income outweighs its interest, as in the published table, so the rebase also undoes the split the two indices had flipped. diff --git a/docs/uk-income-anchors-280.md b/docs/uk-income-anchors-280.md index 0c9789dadd..0637bd0d46 100644 --- a/docs/uk-income-anchors-280.md +++ b/docs/uk-income-anchors-280.md @@ -90,10 +90,11 @@ membership carries the uprated value with its receipt. (`hmrc_uprating.uk_obr_savings_income_level`). Each band's factor is the published amount over the FACT-weighted amount of the tape's taxpayers in the band, as Table 3.7 counts taxpayers only (microcosm#1428). The tape is - banded on its income moved to 2023-24, each income leaf at its own factor, - repeating until the rebased savings move no record across a band edge, so - the band-edge migration the consumers re-band on uprated income is counted - once. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income + banded once on its income moved to 2023-24, each income leaf at its own + factor and each rebased column at its factor over all bands, so the + band-edge migration the consumers re-band on uprated income is counted + once. A record whose band's factor differs from that of all bands can still + sit across an edge on its rebased income. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income crosses the Personal Allowance by 2023-24; a flagged taxpayer below the first band sits in it (note 8); any other record takes the factor of all bands. A band the tape carries none of is left as it is, a band whose tape amount is diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py index dbf22e5198..bf2f8c7ec9 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py @@ -1924,15 +1924,15 @@ def spi_savings_rebase_published( return published -#: The rebase bands the tape on its income moved to 2023-24, the year the +#: The rebase bands the tape once on its income moved to 2023-24, the year the #: published bands describe: each income leaf at its 2022-23 to 2023-24 factor, -#: the rebased savings as they stand, and the rest of the published total held -#: nominal, as the band donors' realised income is built. Its consumers band -#: again on income uprated to the frame's year, so banding on 2022-23 income -#: counted the band-edge migration twice (microcosm#1428 review, finding 6). -#: Rebased savings move income, so the banding repeats until no record changes -#: band, at most this many times. -SPI_SAVINGS_REBASE_MAX_ITERATIONS = 20 +#: each rebased column at its factor over all bands, and the rest of the +#: published total held nominal, as the band donors' realised income is built. +#: Its consumers band again on income uprated to the frame's year, so banding +#: on 2022-23 income counted the band-edge migration twice (microcosm#1428 +#: review, finding 6). Moving each record's savings by its own band's factor +#: has no fixed point: the band sets the factor and the factor the band, and on +#: the production tape records kept changing band from pass to pass. def _tape_income_in_rebase_year( @@ -1969,17 +1969,19 @@ def rebase_spi_donor_savings( Each taxpayer donor's column is scaled by its band's factor: HMRC's published 2023-24 amount over the tape's FACT-weighted amount for the taxpayers in the same range of total income, since Table 3.7 counts - taxpayers only. The tape is banded on its income moved to 2023-24 - (``income_factors``, each income leaf's 2022-23 to 2023-24 factor; none - holds the leaves nominal), repeating until the rebased savings move no - record across a band edge. A taxpayer is a record the tape flags - (TAXPAYER 1) or one whose income crosses the first band's lower bound, - the Personal Allowance, by 2023-24, so a saver who becomes a taxpayer is - counted once. A flagged taxpayer below the first band sits in it, as the - table's lowest band holds those taxpayers (note 8); a tape without the - flag counts every record at or above the first band. Any other donor - takes the factor of all bands together. The rebased tape reproduces the - published amounts band by band; the OBR's savings income growth then + taxpayers only. The tape is banded once on its income moved to 2023-24: + each income leaf at its 2022-23 to 2023-24 factor (``income_factors``; + none holds the leaves nominal) and each rebased column at its factor over + all bands, on the tape's 2022-23 bands. A taxpayer is a record the tape + flags (TAXPAYER 1) or one whose income crosses the first band's lower + bound, the Personal Allowance, by 2023-24, so a saver who becomes a + taxpayer is counted once. A flagged taxpayer below the first band sits in + it, as the table's lowest band holds those taxpayers (note 8); a tape + without the flag counts every record at or above the first band. Any + other donor takes the factor of all bands together. Banded so, the rebased + tape reproduces the published amounts band by band; a record whose band's + factor differs from the factor of all bands can sit across an edge when + banded on its rebased income. The OBR's savings income growth then carries both columns to the frame's year (``_spi_income_uprating_factors``). A band the tape carries none of has nothing to scale, and a band whose tape amount is under SPI_SAVINGS_REBASE_MINIMUM_GROSSING of its published amount @@ -2020,6 +2022,7 @@ def rebase_spi_donor_savings( } original: dict[str, np.ndarray] = {} targets: dict[str, np.ndarray] = {} + banding_factors: dict[str, float] = {} for column, by_bound in published.items(): values = donor[column].to_numpy(dtype=np.float64) target = np.asarray([float(by_bound[bound]) for bound in bounds]) @@ -2042,59 +2045,54 @@ def rebase_spi_donor_savings( continue original[column] = values targets[column] = target - - band = None - converged = not original - passes = 0 - while original and passes < SPI_SAVINGS_REBASE_MAX_ITERATIONS: - passes += 1 - income = _tape_income_in_rebase_year(donor, rebased, factors_in) - moved_band = np.searchsorted(edges, income, side="right") - 1 - crossed = ~tape_taxpayer & (band_2022 < 0) & (moved_band >= 0) - taxpayer = tape_taxpayer | crossed if flagged else (moved_band >= 0) - moved_band = np.where(taxpayer, np.clip(moved_band, 0, None), moved_band) - if band is not None and np.array_equal(moved_band, band): - converged = True - break - band = moved_band - for column, values in original.items(): - target = targets[column] - tape = np.bincount( - band[taxpayer], - weights=(weights * values)[taxpayer], - minlength=len(bounds), - ) - carried = tape > 0.0 - thin = carried & (tape < SPI_SAVINGS_REBASE_MINIMUM_GROSSING * target) - usable = carried & ~thin - all_bands = ( - float(target[usable].sum() / tape[usable].sum()) - if usable.any() - else 1.0 - ) - factors = np.where(usable, target / np.where(usable, tape, 1.0), all_bands) - rebased[column] = values * np.where( - taxpayer, factors[np.clip(band, 0, None)], all_bands - ) - receipt["columns"][column] = { - "concept": SPI_SAVINGS_REBASE_CONCEPTS[column], - "band_factors": { - str(bound): float(factor) - for bound, factor, kept in zip(bounds, factors, usable, strict=True) - if kept - }, - "below_first_band_factor": all_bands, - "bands_without_tape_amounts": [ - int(bound) - for bound, kept in zip(bounds, carried, strict=True) - if not kept - ], - "bands_too_thin_to_gross": [ - int(bound) for bound, kept in zip(bounds, thin, strict=True) if kept - ], - } - receipt["banding_passes"] = passes - receipt["banding_converged"] = bool(converged) + banding_factors[column] = ( + float(target[carried].sum() / tape[carried].sum()) if carried.any() else 1.0 + ) + if not original: + return rebased, receipt + + income = _tape_income_in_rebase_year( + donor, donor, {**factors_in, **banding_factors} + ) + band = np.searchsorted(edges, income, side="right") - 1 + crossed = ~tape_taxpayer & (band_2022 < 0) & (band >= 0) + taxpayer = tape_taxpayer | crossed if flagged else (band >= 0) + band = np.where(taxpayer, np.clip(band, 0, None), band) + for column, values in original.items(): + target = targets[column] + tape = np.bincount( + band[taxpayer], + weights=(weights * values)[taxpayer], + minlength=len(bounds), + ) + carried = tape > 0.0 + thin = carried & (tape < SPI_SAVINGS_REBASE_MINIMUM_GROSSING * target) + usable = carried & ~thin + all_bands = ( + float(target[usable].sum() / tape[usable].sum()) if usable.any() else 1.0 + ) + factors = np.where(usable, target / np.where(usable, tape, 1.0), all_bands) + rebased[column] = values * np.where( + taxpayer, factors[np.clip(band, 0, None)], all_bands + ) + receipt["columns"][column] = { + "concept": SPI_SAVINGS_REBASE_CONCEPTS[column], + "banding_factor": banding_factors[column], + "band_factors": { + str(bound): float(factor) + for bound, factor, kept in zip(bounds, factors, usable, strict=True) + if kept + }, + "below_first_band_factor": all_bands, + "bands_without_tape_amounts": [ + int(bound) + for bound, kept in zip(bounds, carried, strict=True) + if not kept + ], + "bands_too_thin_to_gross": [ + int(bound) for bound, kept in zip(bounds, thin, strict=True) if kept + ], + } return rebased, receipt diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py index fa214784b1..30ed7a6efa 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py @@ -82,6 +82,7 @@ def test_the_rebased_tape_reproduces_the_published_bands() -> None: # The receipt carries factors, never a count of tape records. assert set(receipt["columns"]["other_investment_income"]) == { "concept", + "banding_factor", "band_factors", "below_first_band_factor", "bands_without_tape_amounts", @@ -303,9 +304,9 @@ def _edge_donor() -> pd.DataFrame: def test_the_tape_is_banded_on_its_income_moved_to_2023_24() -> None: # Banded on its 2022-23 income, A sits in the £12,570 band. Moved to - # 2023-24 (dividends x1.1), it crosses the £50,000 edge, the band the - # consumers will find it in after uprating, so its migration is counted - # once (microcosm#1428 review, finding 6). + # 2023-24 (dividends x1.1, interest at all bands' 500 over 200), it crosses + # the £50,000 edge, the band the consumers will find it in after uprating, + # so its migration is counted once (microcosm#1428 review, finding 6). held, held_receipt = rebase_spi_donor_savings(_edge_donor(), INTEREST_ONLY) assert held["savings_interest_income"].tolist() == pytest.approx([1.0, 4.0]) moved, receipt = rebase_spi_donor_savings( @@ -316,7 +317,36 @@ def test_the_tape_is_banded_on_its_income_moved_to_2023_24() -> None: "50000": pytest.approx(2.0) } assert receipt["band_by"] == "total_income_moved_to_2023_24" - assert receipt["banding_converged"] is True + assert receipt["columns"]["savings_interest_income"][ + "banding_factor" + ] == pytest.approx(2.5) + + +def test_savings_move_by_their_factor_over_all_bands_for_the_banding() -> None: + # A's interest is a large part of its income. All bands' factor (3,000 + # over the tape's 600) moves it from 500 to 2,500 for the banding, which + # takes A across the £50,000 edge; there the band's factor is 2,000 over + # 600 for both records, and A's rebased income stays above the edge. One + # pass: a record's own band's factor would set the band it is banded in + # (microcosm#1428 review, finding 6). + donor = pd.DataFrame( + { + "total_income": [49_000.0, 60_000.0], + "FACT": [1.0, 1.0], + "savings_interest_income": [500.0, 100.0], + } + ) + rebased, receipt = rebase_spi_donor_savings( + donor, {"savings_interest_income": {12_570: 1_000.0, 50_000: 2_000.0}} + ) + interest = receipt["columns"]["savings_interest_income"] + assert interest["banding_factor"] == pytest.approx(5.0) + assert interest["band_factors"] == {"50000": pytest.approx(2_000.0 / 600.0)} + assert interest["bands_without_tape_amounts"] == [12_570] + assert rebased["savings_interest_income"].tolist() == pytest.approx( + [500.0 * 2_000.0 / 600.0, 100.0 * 2_000.0 / 600.0] + ) + assert 48_500.0 + rebased.loc[0, "savings_interest_income"] >= 50_000.0 def test_a_saver_who_becomes_a_taxpayer_counts_once() -> None: From 4dd83e999313edb1144d1c4a305886111e89d584 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Sun, 1 Nov 2026 19:06:33 +0000 Subject: [PATCH 50/67] Move the gate battery pins with the descriptor's export surface 91775db4a added annuity_and_trust_income to the export surface in gates.json and moved the data contract's release-cut part digests, but not the full-manifest pins the release contract checks a certificate's spec against (policy, gates manifest and spec fingerprint), nor their mirror in the contract tests. The national from 9f70c71e7 certified, and its release directory then failed the contract on those three pins. They now match the committed spec, as f3540cbc6 moved them for the receipts column. Co-Authored-By: Claude Opus 5.5 --- packages/microcosm-data/src/microcosm/data/contract.py | 6 +++--- .../tests/engine_free/shared/test_contract.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/microcosm-data/src/microcosm/data/contract.py b/packages/microcosm-data/src/microcosm/data/contract.py index edb5688930..285aa73e09 100644 --- a/packages/microcosm-data/src/microcosm/data/contract.py +++ b/packages/microcosm-data/src/microcosm/data/contract.py @@ -451,13 +451,13 @@ def compatibility_claim_declarer_error(declared_by: object) -> str | None: # fingerprint derives from the manifest digest. Editing the spec moves all # three here in the same reviewed change. _UK_GATE_BATTERY_POLICY_SHA256 = ( - "37c1649af59eda1027e96b5993adff3ed982a04d5bafd8b21cea636490c568f5" + "7e398ac1a839eb4094316438fdb6e59afd796c30329e97021fd9a160e4b3a7d6" ) _UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "49747ecb3eb2f02c337bb350748609ec822e0826d12406b1ce3a1ee794d711f4" + "4f8a5ff44e244bdc69f1b6a60eebff1566b4f35bf5eebaf6924ae9c29558ad57" ) _UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "63b1107a53b3ee2a821ddb3a62128b735d08712a6569e74ba86caa546664ef13" + "1a632c29b6164035ee5faa8084ea0e9ee1344c5e36b5ff6a1acf53f648a6cddf" ) #: Spec entry id -> the legacy gate name whose observable detail checks #: apply unchanged (the battery re-keys the report by entry id; the gate diff --git a/packages/microcosm-data/tests/engine_free/shared/test_contract.py b/packages/microcosm-data/tests/engine_free/shared/test_contract.py index f1fe926bf9..047a39b60d 100644 --- a/packages/microcosm-data/tests/engine_free/shared/test_contract.py +++ b/packages/microcosm-data/tests/engine_free/shared/test_contract.py @@ -220,13 +220,13 @@ def _trusted_terminal_gate_signing_key(monkeypatch) -> None: UK_GATE_BATTERY_PRODUCER = "microcosm.build.gate_battery" UK_GATE_BATTERY_SIGNING_KEY_ENV = "MICROCOSM_UK_TERMINAL_GATE_SIGNING_KEY" UK_GATE_BATTERY_POLICY_SHA256 = ( - "37c1649af59eda1027e96b5993adff3ed982a04d5bafd8b21cea636490c568f5" + "7e398ac1a839eb4094316438fdb6e59afd796c30329e97021fd9a160e4b3a7d6" ) UK_GATE_BATTERY_GATES_MANIFEST_SHA256 = ( - "49747ecb3eb2f02c337bb350748609ec822e0826d12406b1ce3a1ee794d711f4" + "4f8a5ff44e244bdc69f1b6a60eebff1566b4f35bf5eebaf6924ae9c29558ad57" ) UK_GATE_BATTERY_SPEC_FINGERPRINT = ( - "63b1107a53b3ee2a821ddb3a62128b735d08712a6569e74ba86caa546664ef13" + "1a632c29b6164035ee5faa8084ea0e9ee1344c5e36b5ff6a1acf53f648a6cddf" ) UK_GATE_BATTERY_DEGENERATE_EVIDENCE_SHA256 = ( "f246388de42654dd68dbbb40c42282001b5b0a8bf48976162bcb1199085cb1d3" From 628c8248a5e5dfcb305f487737661882cc573c9e Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 18:03:29 -0500 Subject: [PATCH 51/67] Place each ACS rent draw on its own household's head impute_us_pre_subsidy_rent drew rent in household-table order and wrote it through a head mask in person-table order. The two orders differ on every US base, so 91% of base households carry another household's rent, and rent lands almost independently of tenure. Match draws to heads by household id instead, and pin the behaviour with a test that reverses the person table. Co-Authored-By: Claude Opus 5.5 --- changelog.d/rent-head-alignment.fixed.md | 1 + .../build/us_runtime/housing_inputs.py | 10 ++++++- .../engine_free/us/test_us_housing_inputs.py | 28 +++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 changelog.d/rent-head-alignment.fixed.md diff --git a/changelog.d/rent-head-alignment.fixed.md b/changelog.d/rent-head-alignment.fixed.md new file mode 100644 index 0000000000..a838e4ba57 --- /dev/null +++ b/changelog.d/rent-head-alignment.fixed.md @@ -0,0 +1 @@ +The US ACS rent imputation now places each draw on the head of the household it was drawn for. It used to write household-order draws in person order, which left about 91% of base households with another household's rent. diff --git a/packages/microcosm-build/src/microcosm/build/us_runtime/housing_inputs.py b/packages/microcosm-build/src/microcosm/build/us_runtime/housing_inputs.py index 1f83bd82c9..f77d0a9f1b 100644 --- a/packages/microcosm-build/src/microcosm/build/us_runtime/housing_inputs.py +++ b/packages/microcosm-build/src/microcosm/build/us_runtime/housing_inputs.py @@ -895,8 +895,16 @@ def impute_us_pre_subsidy_rent( if not np.isfinite(predicted).all(): raise ValueError("ACS rent QRF produced nonfinite predictions.") predicted = np.maximum(predicted, 0.0) + # ``features`` follows the household table, and the person table need not + # list heads in that order, so match each draw to its head by household id. + rent_by_household = pd.Series(predicted, index=features.index) + head_household_ids = frame.table("person")["person_household_id"].to_numpy()[ + head_mask + ] person_rent = np.zeros(frame.n("person"), dtype=np.float64) - person_rent[head_mask] = predicted + person_rent[head_mask] = rent_by_household.loc[head_household_ids].to_numpy( + dtype=np.float64 + ) return person_rent diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_housing_inputs.py b/packages/microcosm-build/tests/engine_free/us/test_us_housing_inputs.py index b75e1d8027..41cd0ffc6b 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_housing_inputs.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_housing_inputs.py @@ -354,3 +354,31 @@ def test_release_wiring_promotes_all_five_inputs_and_probes() -> None: ] assert contract.populace_treatment == "out_of_scope" assert contract.rate == {"status": "not_used_measured_source"} + + +def test_rent_reaches_its_own_household_when_person_order_differs( + monkeypatch: pytest.MonkeyPatch, +) -> None: + monkeypatch.setattr(module, "QRF", _RentQRF) + frame = _frame() + tables = {entity: frame.table(entity).copy() for entity in frame.entities} + tables["person"] = tables["person"].iloc[::-1].reset_index(drop=True) + reordered = Frame( + tables, + frame.schema, + {entity: frame.weights_for(entity) for entity in frame.weighted_entities}, + ) + + result = with_us_housing_inputs( + reordered, seed=0, time_period=2024, acs_rent_donor=_donor() + ) + + person = result.table("person") + rent_by_household = person.set_index("person_household_id")["pre_subsidy_rent"] + tenure_by_household = result.table("household").set_index("household_id")[ + "tenure_type" + ] + renters = tenure_by_household.index[tenure_by_household == "RENTED"] + others = tenure_by_household.index[tenure_by_household != "RENTED"] + assert (rent_by_household.loc[renters] == 12_000.0).all() + assert (rent_by_household.loc[others] == 0.0).all() From 62c96f55d26150a1b13cf900273847b73b09675b Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 18:54:25 -0500 Subject: [PATCH 52/67] Repin the attested housing kernel and test rent under any person order housing_inputs.py is an attested US kernel, so the rent fix moves its seed map, seed protocol and spec digests. This commit applies the documented repin sequence and regenerates the coverage receipt. The new property test gives each household a distinct draw, adds multi-person households and shuffles the person table. It fails on the old assignment. Co-Authored-By: Claude Opus 5.5 --- docs/evidence/spec-engine/us-f0-coverage.json | 16 ++--- .../build/spec_engine/inventory_coverage.py | 4 +- .../shared/test_spec_engine_loader.py | 2 +- .../engine_free/us/test_us_housing_inputs.py | 63 +++++++++++++++++++ .../us/test_us_multispine_pool_tool.py | 2 +- 5 files changed, 75 insertions(+), 12 deletions(-) diff --git a/docs/evidence/spec-engine/us-f0-coverage.json b/docs/evidence/spec-engine/us-f0-coverage.json index 9071607114..1d63686efd 100644 --- a/docs/evidence/spec-engine/us-f0-coverage.json +++ b/docs/evidence/spec-engine/us-f0-coverage.json @@ -1656,13 +1656,13 @@ "compiler_ir.node_slices" ], "expected": { - "map_sha256": "488846129a3c47e89d54538515e6bdbd7ce849e4081ab8a4ad40c9ce2a1e1391", - "protocol_sha256": "87f44e60621c45d2fc1448fda11cd446960d6bab7cb51b346367339e2e751e1f" + "map_sha256": "07fe9086b57a15ab1c2551fce5c30aebfa55175d76a308f7dbb268ac49da747a", + "protocol_sha256": "4ff992324004d4c09d4165bc8d24ccff15b9d84858836851b12d532c870920f4" }, "failures": [], "observed": { - "map_sha256": "488846129a3c47e89d54538515e6bdbd7ce849e4081ab8a4ad40c9ce2a1e1391", - "protocol_sha256": "87f44e60621c45d2fc1448fda11cd446960d6bab7cb51b346367339e2e751e1f" + "map_sha256": "07fe9086b57a15ab1c2551fce5c30aebfa55175d76a308f7dbb268ac49da747a", + "protocol_sha256": "4ff992324004d4c09d4165bc8d24ccff15b9d84858836851b12d532c870920f4" }, "status": "covered" }, @@ -1677,7 +1677,7 @@ "compiler_ir.seed_stream_map" ], "expected": { - "implementation_sha256": "87f44e60621c45d2fc1448fda11cd446960d6bab7cb51b346367339e2e751e1f", + "implementation_sha256": "4ff992324004d4c09d4165bc8d24ccff15b9d84858836851b12d532c870920f4", "protocol": "legacy-v1", "streams": [ "build_model", @@ -1698,7 +1698,7 @@ }, "failures": [], "observed": { - "implementation_sha256": "87f44e60621c45d2fc1448fda11cd446960d6bab7cb51b346367339e2e751e1f", + "implementation_sha256": "4ff992324004d4c09d4165bc8d24ccff15b9d84858836851b12d532c870920f4", "protocol": "legacy-v1", "streams": [ "build_model", @@ -2599,7 +2599,7 @@ "country": "us", "schema_id": "country_spec", "schema_version": 1, - "spec_sha256": "9b4b3260c20c30ba71a0947f8d78e322c8d2a3e6cb94e87a3729be950a9e90f2" + "spec_sha256": "153a7b6ad8f13b5de1fd32e3e4e2805015e4c90823f313cec51cb5bd27c990b0" } }, "report_schema_version": 3, @@ -2609,7 +2609,7 @@ "country": "us", "schema_id": "country_spec", "schema_version": 1, - "spec_sha256": "9b4b3260c20c30ba71a0947f8d78e322c8d2a3e6cb94e87a3729be950a9e90f2" + "spec_sha256": "153a7b6ad8f13b5de1fd32e3e4e2805015e4c90823f313cec51cb5bd27c990b0" }, "status": "pass" } diff --git a/packages/microcosm-build/src/microcosm/build/spec_engine/inventory_coverage.py b/packages/microcosm-build/src/microcosm/build/spec_engine/inventory_coverage.py index 2845ac1496..d8b26cb74b 100644 --- a/packages/microcosm-build/src/microcosm/build/spec_engine/inventory_coverage.py +++ b/packages/microcosm-build/src/microcosm/build/spec_engine/inventory_coverage.py @@ -380,8 +380,8 @@ # microcosm#1259's recipient-share bound in puf_support moves both again. # microcosm#1261 moves both again: the PUF donor carries partnership and # S-corp line-32 shares as separate leaves. - "seed_map": "488846129a3c47e89d54538515e6bdbd7ce849e4081ab8a4ad40c9ce2a1e1391", - "seed_protocol": "87f44e60621c45d2fc1448fda11cd446960d6bab7cb51b346367339e2e751e1f", + "seed_map": '07fe9086b57a15ab1c2551fce5c30aebfa55175d76a308f7dbb268ac49da747a', + "seed_protocol": '4ff992324004d4c09d4165bc8d24ccff15b9d84858836851b12d532c870920f4', "source_manifest": "608c3621b1e4a108e57c8f83d16a184acdb3d05e16a81b895f7f72dbf5d0685c", "take_up": "9522ce40f7dea569312dd7a7beb474e5a5afadd2f1e10cb5876534c3ef623d35", "tail": "071d418bb49976f4682c320d2ad07097c177de3a645d2524f235e1ff33ac83f9", diff --git a/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_loader.py b/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_loader.py index de2cf00847..5837c69a8c 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_loader.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_spec_engine_loader.py @@ -18,7 +18,7 @@ def test_semantic_hash_has_golden_vector_and_surface_separation(tmp_path) -> Non # self-employment feature in the imputation schema moves the schema-set # receipt, and its post-transfer step moves acs_transfer's attested bytes. assert first.spec_sha256 == ( - "8654884dc7dde724af39b78d07cffb151c61680d388c05576cd34dee83fb79fb" + 'e8ef234504dfaed9b5cc7d04355d1996ad0a2f965c06b34679ce216c4f899abe' ) second_root = _rich_minimal(tmp_path / "xy", note="second", store="local:b") diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_housing_inputs.py b/packages/microcosm-build/tests/engine_free/us/test_us_housing_inputs.py index 41cd0ffc6b..5221cf7803 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_housing_inputs.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_housing_inputs.py @@ -1,6 +1,9 @@ """Tests split from packages/microcosm-build/tests/test_us_housing_inputs.py.""" # ruff: noqa: F403, F405 +from hypothesis import given, settings +from hypothesis import strategies as st + from test_support.microcosm_build.us_housing_inputs import * @@ -382,3 +385,63 @@ def test_rent_reaches_its_own_household_when_person_order_differs( others = tenure_by_household.index[tenure_by_household != "RENTED"] assert (rent_by_household.loc[renters] == 12_000.0).all() assert (rent_by_household.loc[others] == 0.0).all() + + +class _OneDrawPerHouseholdFitted: + def predict(self, test: pd.DataFrame, **kwargs) -> pd.DataFrame: + return pd.DataFrame( + {"rent": 1_000.0 * np.arange(1, len(test) + 1)}, index=test.index + ) + + +class _OneDrawPerHouseholdQRF: + def __init__(self, **_kwargs: object) -> None: + pass + + def fit(self, *_args: object, **_kwargs: object) -> _OneDrawPerHouseholdFitted: + return _OneDrawPerHouseholdFitted() + + +def _frame_with_members(extra_members: list[int], *, order_seed: int) -> Frame: + frame = derive_us_housing_inputs(_frame()) + tables = {entity: frame.table(entity).copy() for entity in frame.entities} + heads = tables["person"] + members = heads.loc[np.repeat(heads.index.to_numpy(), extra_members)].copy() + members["person_id"] = heads["person_id"].max() + np.arange(1, len(members) + 1) + members["is_household_head"] = False + members["tax_unit_role_input"] = "DEPENDENT" + person = pd.concat([heads, members], ignore_index=True) + order = np.random.default_rng(order_seed).permutation(len(person)) + tables["person"] = person.iloc[order].reset_index(drop=True) + return Frame( + tables, + frame.schema, + {entity: frame.weights_for(entity) for entity in frame.weighted_entities}, + ) + + +@settings(max_examples=40, deadline=None) +@given( + extra_members=st.lists(st.integers(0, 3), min_size=20, max_size=20), + order_seed=st.integers(0, 2**32 - 1), +) +def test_each_head_holds_its_households_draw_under_any_person_order( + extra_members: list[int], order_seed: int +) -> None: + frame = _frame_with_members(extra_members, order_seed=order_seed) + with pytest.MonkeyPatch.context() as patch: + patch.setattr(module, "QRF", _OneDrawPerHouseholdQRF) + rent = module.impute_us_pre_subsidy_rent(frame, _donor(), seed=0) + + person = frame.table("person") + draws = pd.Series( + 1_000.0 * np.arange(1, frame.n("household") + 1), + index=frame.table("household")["household_id"].to_numpy(), + ) + is_head = person["is_household_head"].to_numpy() + assert ( + rent[is_head] + == draws.loc[person.loc[is_head, "person_household_id"]].to_numpy() + ).all() + assert (rent[~is_head] == 0.0).all() + assert rent.sum() == draws.sum() diff --git a/packages/microcosm-build/tests/engine_workflow/us/test_us_multispine_pool_tool.py b/packages/microcosm-build/tests/engine_workflow/us/test_us_multispine_pool_tool.py index 58ea9b4bbc..29915623f6 100644 --- a/packages/microcosm-build/tests/engine_workflow/us/test_us_multispine_pool_tool.py +++ b/packages/microcosm-build/tests/engine_workflow/us/test_us_multispine_pool_tool.py @@ -350,7 +350,7 @@ def capture_equality(expected: object, actual: object) -> None: # microcosm#1251's passive partnership/S-corp leaf in puf_support moves it. # microcosm#1259's recipient-share bound in puf_support moves it again. # microcosm#1261's entity split of line 32 moves it too. - "spec_sha256": "9b4b3260c20c30ba71a0947f8d78e322c8d2a3e6cb94e87a3729be950a9e90f2", + "spec_sha256": '153a7b6ad8f13b5de1fd32e3e4e2805015e4c90823f313cec51cb5bd27c990b0', }, } From 76f7dccaf290f702976beff8ce1530c3d13f6270 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Mon, 2 Nov 2026 00:11:51 +0000 Subject: [PATCH 53/67] Recalibrate the trading allowance claimant rates on policyengine-uk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rates calibrated on b441bb5a0 (0.64 for 2024-25 profits up to £4,500, 0.32 to £9,000) give about 436,000 taxpayers with a lower bill in 2028-29 on the national from 9f70c71e7, by about £407 on average, against the policy paper's 400,000 and £380: the SPI copies' small traders moved with the savings rebase. Measured on policyengine-uk on that national, the rates that meet both figures are 0.72 and 0.14 (María's choice of 2026-11-01). The draw keeps each trader's uniform, so a lower rate keeps a subset of the claimants and the mean gain holds. The rates drift with each national; microcosm#1439 re-measures them after each build. The H2 fixture and the coverage manifest follow with the merge of main. Co-Authored-By: Claude Opus 5.5 --- .../1428-trading-allowance-receipts.added.md | 2 +- .../src/microcosm/build/uk/source_stages.json | 6 +++--- .../src/microcosm/build/uk/spec/sources.yaml | 6 +++--- .../uk_runtime/trading_allowance_receipts.py | 18 +++++++++++------- .../uk/test_uk_trading_allowance_receipts.py | 8 ++++---- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/changelog.d/1428-trading-allowance-receipts.added.md b/changelog.d/1428-trading-allowance-receipts.added.md index d4f2c6f5e6..2d4174f8fe 100644 --- a/changelog.d/1428-trading-allowance-receipts.added.md +++ b/changelog.d/1428-trading-allowance-receipts.added.md @@ -1 +1 @@ -A new last spine stage, `trading_allowance_receipts`, stores the self-employed's gross receipts (`self_employment_gross_receipts`), so policyengine-uk applies the trading allowance against receipts as the law does (#1428; María's choice of 2026-10-31). Neither the FRS nor the SPI tape records turnover. Without receipts the engine relieved profits up to the allowance in full and nothing above it, so a rise in the allowance missed its main base: traders who already claim the £1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus £1,000 exactly. Each trader with a positive profit is flagged as a claimant with probability 0.64 for profits up to £4,500, 0.32 from £4,500 to £9,000 and none above, drawn on their own `person_id`. A claimant's receipts are their profit plus £1,000; any other trader's are their profit plus £3,000, expenses at the raised allowance, since the costing books traders who switch to the allowance as behaviour. The rates are calibrated to HMRC's policy paper (about 400,000 taxpayers with a lower bill, by about £380 on average) until HMRC publishes claimant counts. Every trader with a positive profit is treated as filing, as the Table 3.10 counts the calibration binds are of filers, so a profit of £1,000 or less is now taxed where the engine used to relieve it in full. Two limits remain until policyengine-uk#2765 lets the stage store the claim status itself (#1439). A claimant's £1,000 grows with the mixed income index while the allowance is nominal, so the raise relieves £1,932 more in 2027-28, falling to £1,758 by 2031-32. The other traders' stored £3,000 grows the same way, so allowances above £3,000 are mis-scored. `self_employment_gross_receipts` leaves the register of engine inputs left at their default and joins the export surface's allowed columns. The stage spec and schema, the graph and kernel wiring, the spine build, the coverage manifest, the H2 fixture and the data contract's gate digests follow. +A new last spine stage, `trading_allowance_receipts`, stores the self-employed's gross receipts (`self_employment_gross_receipts`), so policyengine-uk applies the trading allowance against receipts as the law does (#1428; María's choice of 2026-10-31). Neither the FRS nor the SPI tape records turnover. Without receipts the engine relieved profits up to the allowance in full and nothing above it, so a rise in the allowance missed its main base: traders who already claim the £1,000 allowance against larger receipts. Under current law a claimant's receipts are their profit plus £1,000 exactly. Each trader with a positive profit is flagged as a claimant with probability 0.72 for profits up to £4,500, 0.14 from £4,500 to £9,000 and none above, drawn on their own `person_id`. A claimant's receipts are their profit plus £1,000; any other trader's are their profit plus £3,000, expenses at the raised allowance, since the costing books traders who switch to the allowance as behaviour. The rates are calibrated to HMRC's policy paper (about 400,000 taxpayers with a lower bill, by about £380 on average), measured on policyengine-uk for the national from 9f70c71e7, until HMRC publishes claimant counts; they drift with each national, so #1439 re-measures them after each build. Every trader with a positive profit is treated as filing, as the Table 3.10 counts the calibration binds are of filers, so a profit of £1,000 or less is now taxed where the engine used to relieve it in full. Two limits remain until policyengine-uk#2765 lets the stage store the claim status itself (#1439). A claimant's £1,000 grows with the mixed income index while the allowance is nominal, so the raise relieves £1,932 more in 2027-28, falling to £1,758 by 2031-32. The other traders' stored £3,000 grows the same way, so allowances above £3,000 are mis-scored. `self_employment_gross_receipts` leaves the register of engine inputs left at their default and joins the export surface's allowed columns. The stage spec and schema, the graph and kernel wiring, the spine build, the coverage manifest, the H2 fixture and the data contract's gate digests follow. diff --git a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json index e1b51ab741..fe42871211 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/uk/source_stages.json @@ -7731,11 +7731,11 @@ "claimant_bands": [ { "upper_inclusive": 4500.0, - "rate": 0.64 + "rate": 0.72 }, { "upper_inclusive": 9000.0, - "rate": 0.32 + "rate": 0.14 }, { "rate": 0.0 @@ -7743,7 +7743,7 @@ ], "claimant_expenses": 1000.0, "other_expenses": 3000.0, - "calibration": "HMRC's policy paper on the Budget 2026 trading allowance raise: about 400,000 taxpayers with a lower bill, by about GBP 380 on average, on the microcosm#1428 national b441bb5a0's final weights at 2028-29 prices, until HMRC publishes claimant counts (María's choice of 2026-10-31)", + "calibration": "HMRC's policy paper on the Budget 2026 trading allowance raise: about 400,000 taxpayers with a lower bill, by about GBP 380 on average, measured on policyengine-uk for the microcosm#1428 national from 9f70c71e7 at 2028-29 prices; the rates drift with each national (microcosm#1439), until HMRC publishes claimant counts (María's choices of 2026-10-31 and 2026-11-01)", "rule": "a person with a positive self_employment_income claims the allowance where their uniform falls below their profit band's rate; a claimant's receipts are their profit plus claimant_expenses, any other trader's their profit plus other_expenses, and a person with no positive profit keeps zero" }, { diff --git a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml index 359943c988..e5244a3c01 100644 --- a/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml +++ b/packages/microcosm-build/src/microcosm/build/uk/spec/sources.yaml @@ -6212,13 +6212,13 @@ stages: seed: 0 claimant_bands: - upper_inclusive: 4500.0 - rate: 0.64 + rate: 0.72 - upper_inclusive: 9000.0 - rate: 0.32 + rate: 0.14 - rate: 0.0 claimant_expenses: 1000.0 other_expenses: 3000.0 - calibration: 'HMRC''s policy paper on the Budget 2026 trading allowance raise: about 400,000 taxpayers with a lower bill, by about GBP 380 on average, on the microcosm#1428 national b441bb5a0''s final weights at 2028-29 prices, until HMRC publishes claimant counts (María''s choice of 2026-10-31)' + calibration: 'HMRC''s policy paper on the Budget 2026 trading allowance raise: about 400,000 taxpayers with a lower bill, by about GBP 380 on average, measured on policyengine-uk for the microcosm#1428 national from 9f70c71e7 at 2028-29 prices; the rates drift with each national (microcosm#1439), until HMRC publishes claimant counts (María''s choices of 2026-10-31 and 2026-11-01)' rule: a person with a positive self_employment_income claims the allowance where their uniform falls below their profit band's rate; a claimant's receipts are their profit plus claimant_expenses, any other trader's their profit plus other_expenses, and a person with no positive profit keeps zero - kind: record_mass_conservation_receipt entity: household diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py index 17be90b6d1..d6e1cecda7 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/trading_allowance_receipts.py @@ -31,8 +31,11 @@ Until HMRC publishes claimant counts, the rates are calibrated to HMRC's policy paper on the Budget 2026 raise (about 400,000 taxpayers with a lower -bill, by about GBP 380 on average) on the #1428 national b441bb5a0, at -2028-29 prices (María's choice of 2026-10-31). +bill, by about GBP 380 on average), measured on policyengine-uk for the +#1428 national from 9f70c71e7 at 2028-29 prices (María's choices of +2026-10-31 and 2026-11-01). The rates drift with each national, as its +small traders and their other incomes move, so microcosm#1439 re-measures +them after each build. Two limits of encoding the claim in receipts (#1428 review, findings 2 and 8; María's ruling of 2026-11-01 keeps them, documented, until policyengine-uk#2765 @@ -95,15 +98,16 @@ #: The claimant probability by the person's profit, upper bounds inclusive, #: over profits above zero; the last band has no upper bound. TRADING_ALLOWANCE_CLAIMANT_BANDS: tuple[tuple[float | None, float], ...] = ( - (4_500.0, 0.64), - (9_000.0, 0.32), + (4_500.0, 0.72), + (9_000.0, 0.14), (None, 0.0), ) TRADING_ALLOWANCE_CALIBRATION = ( "HMRC's policy paper on the Budget 2026 trading allowance raise: about " - "400,000 taxpayers with a lower bill, by about GBP 380 on average, on the " - "microcosm#1428 national b441bb5a0's final weights at 2028-29 prices, " - "until HMRC publishes claimant counts (María's choice of 2026-10-31)" + "400,000 taxpayers with a lower bill, by about GBP 380 on average, measured " + "on policyengine-uk for the microcosm#1428 national from 9f70c71e7 at " + "2028-29 prices; the rates drift with each national (microcosm#1439), until " + "HMRC publishes claimant counts (María's choices of 2026-10-31 and 2026-11-01)" ) TRADING_ALLOWANCE_RECEIPTS_MASS_CHANGE_REASON = ( "Self-employed gross receipts stored on the source spine: household weights " diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py index 9cbe9332e8..0e15252f5c 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_trading_allowance_receipts.py @@ -54,7 +54,7 @@ def _frame(profit: np.ndarray): def test_claimant_rates_follow_the_profit_bands_with_inclusive_upper_bounds() -> None: profit = np.asarray([-500.0, 0.0, 0.01, 4_500.0, 4_500.01, 9_000.0, 9_000.01]) - assert claimant_rates(profit).tolist() == [0.0, 0.0, 0.64, 0.64, 0.32, 0.32, 0.0] + assert claimant_rates(profit).tolist() == [0.0, 0.0, 0.72, 0.72, 0.14, 0.14, 0.0] def test_claimants_add_the_allowance_and_other_traders_the_raised_one() -> None: @@ -79,8 +79,8 @@ def test_claimants_add_the_allowance_and_other_traders_the_raised_one() -> None: == (uniforms < claimant_rates(profit[trader])).tolist() ) # Two hundred draws per band land near the band's rate. - assert claimant[profit == 800.0].mean() == pytest.approx(0.64, abs=0.1) - assert claimant[profit == 6_000.0].mean() == pytest.approx(0.32, abs=0.1) + assert claimant[profit == 800.0].mean() == pytest.approx(0.72, abs=0.1) + assert claimant[profit == 6_000.0].mean() == pytest.approx(0.14, abs=0.1) def test_the_stage_stores_receipts_deterministically_and_moves_nothing_else() -> None: @@ -116,7 +116,7 @@ def test_the_receipt_rounds_counts_and_bands_shares() -> None: evidence = transform.checkpoint_metadata()["evidence"] assert evidence["traders"] == 150 assert isinstance(evidence["claimants"], int) - assert [band["rate"] for band in evidence["bands"]] == [0.64, 0.32, 0.0] + assert [band["rate"] for band in evidence["bands"]] == [0.72, 0.14, 0.0] assert all(band["support"] == "30+" for band in evidence["bands"]) assert evidence["bands"][0]["weighted_traders"] == pytest.approx(100.0) # Fewer than ten source households behind a band print the small-cell From 233f459c4aeda603fe15f1592c0295eb112bcf64 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Sun, 1 Nov 2026 19:50:48 -0500 Subject: [PATCH 54/67] Correct the rent fix changelog figure About 91% of households hold another household's draw, but many of those draws are zero both ways. About 47% hold the wrong rent. Co-Authored-By: Claude Opus 5.5 --- changelog.d/rent-head-alignment.fixed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/changelog.d/rent-head-alignment.fixed.md b/changelog.d/rent-head-alignment.fixed.md index a838e4ba57..71deb73698 100644 --- a/changelog.d/rent-head-alignment.fixed.md +++ b/changelog.d/rent-head-alignment.fixed.md @@ -1 +1 @@ -The US ACS rent imputation now places each draw on the head of the household it was drawn for. It used to write household-order draws in person order, which left about 91% of base households with another household's rent. +The US ACS rent imputation now places each draw on the head of the household it was drawn for. It used to write household-order draws in person order, which left about 47% of base households with the wrong rent. From 2dbf7cf56b4215e65660bbaca01cc0984ac9a6ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADa=20Juaristi?= <127882282+juaristi22@users.noreply.github.com> Date: Mon, 2 Nov 2026 12:36:27 +0000 Subject: [PATCH 55/67] Band SPI records on total income net of expenses, without gifts Vahid's review of 329a99e71, items 1, 2 and 5. - One helper, _realised_total_income, gives the savings rebase and the band-donor pools each tape record's total income: the published total plus its income leaves' growth, net of employment expenses and without the gift leaves, which SPI's total income doesn't hold. The rest of the published total is held nominal and no longer floored at zero, so with every factor at one the result is the published total. The band donors take that rest from the tape before the rebase, whose leaves the published total holds (item 1). - The rebase's first pass, which sets each column's factor over all bands, counts the same taxpayers as its second: TAXPAYER 1 and the records crossing the first band, found on income moved without their savings (item 5). - The other-income definitions changelog names the limit on SPI rows: their other income is the tape's OTHERINV, which holds trust and annuity payments, and policyengine-uk taxes it as savings income (item 2). The H2 fixture regenerates byte-identically; its synthetic tape carries no gifts or expenses that move a band. Co-Authored-By: Claude Opus 5.5 --- .../1418-spi-donor-savings-rebase.changed.md | 2 +- ...28-frs-other-income-definitions.changed.md | 2 +- .../1428-spi-band-donor-total-income.fixed.md | 1 + docs/uk-income-anchors-280.md | 4 +- .../microcosm/build/uk_runtime/spi_income.py | 119 ++++++++++++------ .../uk/test_uk_spi_savings_rebase.py | 83 +++++++++++- 6 files changed, 164 insertions(+), 47 deletions(-) create mode 100644 changelog.d/1428-spi-band-donor-total-income.fixed.md diff --git a/changelog.d/1418-spi-donor-savings-rebase.changed.md b/changelog.d/1418-spi-donor-savings-rebase.changed.md index ae88223147..1ee901ab50 100644 --- a/changelog.d/1418-spi-donor-savings-rebase.changed.md +++ b/changelog.d/1418-spi-donor-savings-rebase.changed.md @@ -1 +1 @@ -The SPI income stage now rebases the 2022-23 tape's interest and other income to HMRC's published 2023-24 Table 3.7 amounts band by band (the published rows are vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then carries both to the frame's year on the OBR's savings income growth (October 2026 EFO, Table 4.5), the path the Table 3.7 band targets take (#1418 savings follow-up, #1428). Before, each column moved by its engine index from 2022 to 2024: other income by GDP per head (x1.09) where SPI's own other income grew x1.65 in the single year to 2023-24, and interest by ONS household interest (x2.27) where SPI's grew x2.69 in that year. The frame then carried about 70 percent of the Table 3.7 savings rows at design weights, and the solve met them by stretching the weights of the few households that carry them. Each band's factor is the published amount over the FACT-weighted amount of the tape's taxpayers in the band, as Table 3.7 counts taxpayers only. The tape is banded once on its income moved to 2023-24, each income leaf at its own factor and each rebased column at its factor over all bands, so the band-edge migration its consumers re-band on uprated income is counted once; a record whose band's factor differs from that of all bands can still sit across an edge on its rebased income. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income crosses the Personal Allowance by 2023-24, so a saver who becomes a taxpayer counts once; a flagged taxpayer below the first band sits in it (note 8), and any other record takes the factor of all bands. A band too thin to gross (under a tenth of its published amount) takes the factor of all bands, a column whose tape does not gross to the published amounts is left as it is and grows on its engine index from 2022-23, and a tape whose TAXPAYER codes are not 1 or 2 is refused. On the tape, the £1m-and-over band's other income outweighs its interest, as in the published table, so the rebase also undoes the split the two indices had flipped. +The SPI income stage now rebases the 2022-23 tape's interest and other income to HMRC's published 2023-24 Table 3.7 amounts band by band (the published rows are vendored as `uk/hmrc_spi_table_3_7_savings_rows.json`), then carries both to the frame's year on the OBR's savings income growth (October 2026 EFO, Table 4.5), the path the Table 3.7 band targets take (#1418 savings follow-up, #1428). Before, each column moved by its engine index from 2022 to 2024: other income by GDP per head (x1.09) where SPI's own other income grew x1.65 in the single year to 2023-24, and interest by ONS household interest (x2.27) where SPI's grew x2.69 in that year. The frame then carried about 70 percent of the Table 3.7 savings rows at design weights, and the solve met them by stretching the weights of the few households that carry them. Each band's factor is the published amount over the FACT-weighted amount of the tape's taxpayers in the band, as Table 3.7 counts taxpayers only. The tape is banded once on its income moved to 2023-24, each income leaf at its own factor and each rebased column at its factor over all bands, so the band-edge migration its consumers re-band on uprated income is counted once; the income is the published total plus the leaves' growth, net of employment expenses and without the gift leaves, which SPI's total income doesn't hold, and the factor over all bands counts the same taxpayers as the band factors; a record whose band's factor differs from that of all bands can still sit across an edge on its rebased income. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income crosses the Personal Allowance by 2023-24, so a saver who becomes a taxpayer counts once; a flagged taxpayer below the first band sits in it (note 8), and any other record takes the factor of all bands. A band too thin to gross (under a tenth of its published amount) takes the factor of all bands, a column whose tape does not gross to the published amounts is left as it is and grows on its engine index from 2022-23, and a tape whose TAXPAYER codes are not 1 or 2 is refused. On the tape, the £1m-and-over band's other income outweighs its interest, as in the published table, so the rebase also undoes the split the two indices had flipped. diff --git a/changelog.d/1428-frs-other-income-definitions.changed.md b/changelog.d/1428-frs-other-income-definitions.changed.md index 140b38854f..d9bfe8b734 100644 --- a/changelog.d/1428-frs-other-income-definitions.changed.md +++ b/changelog.d/1428-frs-other-income-definitions.changed.md @@ -1 +1 @@ -FRS rows now book NS&I income on SPI's definitions (#1428). NS&I Direct Saver and the other NS&I and bank products go to `savings_interest_income`, because SPI has counted all interest paid gross or net as bank interest since 2016-17 (Table 3.7 note 4); gilts stay in `other_investment_income`. Income from an annuity not bought with pension funds or from a trust or covenant (FRS PENTYPE 4 and 5) stays in `private_pension_income`, where policyengine-uk's means tests (Pension Credit, Universal Credit, Housing Benefit, Council Tax Reduction, Income Support), household income and tax read it. Its part is stored in a new calibration-only descriptor, `annuity_and_trust_income`, and SPI Table 3.7's other-income rows read `other_investment_income_spi_concept`: the engine's other income plus that share of the engine's private pension, as the table counts both payments as other income (note 6). A row the SPI stage draws holds the tape's pension, which excludes them, so its descriptor is zero. The FRS spine now refuses a pension tab without PENTYPE. +FRS rows now book NS&I income on SPI's definitions (#1428). NS&I Direct Saver and the other NS&I and bank products go to `savings_interest_income`, because SPI has counted all interest paid gross or net as bank interest since 2016-17 (Table 3.7 note 4); gilts stay in `other_investment_income`. Income from an annuity not bought with pension funds or from a trust or covenant (FRS PENTYPE 4 and 5) stays in `private_pension_income`, where policyengine-uk's means tests (Pension Credit, Universal Credit, Housing Benefit, Council Tax Reduction, Income Support), household income and tax read it. Its part is stored in a new calibration-only descriptor, `annuity_and_trust_income`, and SPI Table 3.7's other-income rows read `other_investment_income_spi_concept`: the engine's other income plus that share of the engine's private pension, as the table counts both payments as other income (note 6). A row the SPI stage draws holds the tape's pension, which excludes them, so its descriptor is zero. Its other income is the tape's OTHERINV, Table 3.7's other income, which holds those payments, and policyengine-uk taxes it as savings income: on drawn rows they still take the Personal Savings Allowance, the starting rate and UK rates in Scotland. That limit predates this change; the tape doesn't split OTHERINV. The FRS spine now refuses a pension tab without PENTYPE. diff --git a/changelog.d/1428-spi-band-donor-total-income.fixed.md b/changelog.d/1428-spi-band-donor-total-income.fixed.md new file mode 100644 index 0000000000..58f1226d5b --- /dev/null +++ b/changelog.d/1428-spi-band-donor-total-income.fixed.md @@ -0,0 +1 @@ +The SPI band donors place each tape record by the total income it realises on the frame as SPI's total income holds it: its income leaves at their factors net of employment expenses, without the gift leaves, which are reliefs, plus the rest of the published total, no longer floored at zero (#1428; Vahid's review). Before, a record's gifts and employment expenses added to its income, so a donor with large gifts of shares, or with expenses, sat in too high a band. With every factor at one the realised total is the published one. The savings rebase bands the tape the same way. diff --git a/docs/uk-income-anchors-280.md b/docs/uk-income-anchors-280.md index d973100409..658acb8b4d 100644 --- a/docs/uk-income-anchors-280.md +++ b/docs/uk-income-anchors-280.md @@ -111,7 +111,9 @@ membership carries the uprated value with its receipt. banded once on its income moved to 2023-24, each income leaf at its own factor and each rebased column at its factor over all bands, so the band-edge migration the consumers re-band on uprated income is counted - once. A record whose band's factor differs from that of all bands can still + once. That income, like the band donors', is the published total plus the + leaves' growth, net of employment expenses and without the gift leaves, + which SPI's total income doesn't hold. A record whose band's factor differs from that of all bands can still sit across an edge on its rebased income. A taxpayer is a record the tape flags (TAXPAYER 1) or one whose income crosses the Personal Allowance by 2023-24; a flagged taxpayer below the first band sits in it (note 8); any other record takes the factor of all bands. A diff --git a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py index 054b6b38a0..1f4e36dea1 100644 --- a/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py +++ b/packages/microcosm-build/src/microcosm/build/uk_runtime/spi_income.py @@ -886,6 +886,9 @@ def impute_uk_spi_income_support( raise TypeError("donor_table must be a pandas DataFrame.") raw_donor = donor_table.copy(deep=True) donor = _prepare_spi_donor(raw_donor, seed=seed, age_model=donor_age_model) + # The band donors place each record by the published total, which holds + # the tape's own savings, so they read the tape from before the rebase too. + prepared_donor = donor # The tape's interest and other income move to SPI's 2023-24 bands before # any draw, so the forest and the band donors read the same rebased tape # (microcosm#1418 savings follow-up). @@ -1194,6 +1197,7 @@ def fit_reference(encoded: pd.DataFrame, observed: pd.DataFrame): household=household, spi_people=spi_people, uprating_factors=uprating_factors, + original_donor=prepared_donor, state_pension_age=( None if donor_age_model is None else donor_age_model.state_pension_age ), @@ -1474,6 +1478,7 @@ def _resample_band_donor_leaves( seed: int, age_pool_minimum: int | None = None, state_pension_age: int | None = None, + original_donor: pd.DataFrame | None = None, ) -> tuple[pd.DataFrame, dict[str, object]]: """Give every reserved band carrier a band-conditional tape draw. @@ -1575,22 +1580,16 @@ def _resample_band_donor_leaves( # (microcosm#1106). The loss draws travel the same way: the published # total holds the profit net of losses brought forward, which # self_employment_income already carries (microcosm#1095). - income_columns = [ - column - for column in columns - if column not in (SPI_PROPERTY_FINANCE_COSTS_COLUMN, *SPI_LOSS_DRAW_COLUMNS) - ] - income_factors = np.asarray( - [float(uprating_factors[column]) for column in income_columns] - ) - published_total = donor["total_income"].to_numpy(dtype=float) leaf_values = donor[columns].to_numpy(dtype=np.float64) - income_values = donor[income_columns].to_numpy(dtype=np.float64) # The total income a drawn record realises on the frame: its income leaves - # at the stage's factors plus whatever of the published total the leaves do - # not carry, held nominal. - total_income = income_values @ income_factors + np.maximum( - published_total - income_values.sum(axis=1), 0.0 + # at the stage's factors, net of its employment expenses and without its + # gifts, plus what the tape's own leaves leave of its published total, + # held nominal (_realised_total_income). ``original_donor`` is the tape + # before the savings rebase, whose leaves the published total holds. + total_income = _realised_total_income( + donor if original_donor is None else original_donor, + donor, + uprating_factors, ) donor_region = donor["region"].astype(str).to_numpy() fact = donor["FACT"].to_numpy(dtype=float) @@ -1936,27 +1935,55 @@ def spi_savings_rebase_published( #: the production tape records kept changing band from pass to pass. -def _tape_income_in_rebase_year( +#: The tape's gift leaves relieve income rather than add to it, so a record's +#: total income never counts them (Vahid's review of microcosm#1428). +SPI_RELIEF_LEAF_COLUMNS = ("gift_aid", "charitable_investment_gifts") + + +def _realised_total_income( donor: pd.DataFrame, - rebased: pd.DataFrame, - income_factors: Mapping[str, float], + values: pd.DataFrame, + factors: Mapping[str, float], ) -> np.ndarray: - """The tape's total income moved to SPI_SAVINGS_REBASE_YEAR.""" + """Each tape record's total income with its leaves moved by ``factors``. + + The published total (SPI's TI) holds the income leaves net of employment + expenses, which are deducted from pay, and none of the gift leaves, which + are reliefs; restricted finance costs and the loss draws travel with their + leaves. So a record's income moves by its income leaves' growth less its + expenses' growth, and the rest of its published total, which ``donor``'s + own leaves do not itemise, is held nominal, negative where they over-count + it. ``values`` holds the leaves that move: the tape's own, or rebased ones. + With every factor at one and the tape's own leaves the result is the + published total itself (Vahid's review of microcosm#1428). + """ - columns = [ + income = [ column for column in SPI_INCOME_QRF_OUTPUT_COLUMNS if column in donor - and column not in (SPI_PROPERTY_FINANCE_COSTS_COLUMN, *SPI_LOSS_DRAW_COLUMNS) + and column + not in ( + SPI_PROPERTY_FINANCE_COSTS_COLUMN, + *SPI_LOSS_DRAW_COLUMNS, + *SPI_RELIEF_LEAF_COLUMNS, + SPI_HMRC_EMPLOYMENT_EXPENSES_COLUMN, + ) ] - leaves = donor[columns].to_numpy(dtype=np.float64) - rest = np.maximum( - donor["total_income"].to_numpy(dtype=np.float64) - leaves.sum(axis=1), 0.0 - ) - moved = rebased[columns].to_numpy(dtype=np.float64) @ np.asarray( - [float(income_factors.get(column, 1.0)) for column in columns] - ) - return moved + rest + expenses = SPI_HMRC_EMPLOYMENT_EXPENSES_COLUMN in donor + + def net(frame: pd.DataFrame, moved: Mapping[str, float]) -> np.ndarray: + total = frame[income].to_numpy(dtype=np.float64) @ np.asarray( + [float(moved.get(column, 1.0)) for column in income] + ) + if expenses: + total = total - frame[SPI_HMRC_EMPLOYMENT_EXPENSES_COLUMN].to_numpy( + dtype=np.float64 + ) * float(moved.get(SPI_HMRC_EMPLOYMENT_EXPENSES_COLUMN, 1.0)) + return total + + rest = donor["total_income"].to_numpy(dtype=np.float64) - net(donor, {}) + return net(values, factors) + rest def rebase_spi_donor_savings( @@ -1970,13 +1997,15 @@ def rebase_spi_donor_savings( Each taxpayer donor's column is scaled by its band's factor: HMRC's published 2023-24 amount over the tape's FACT-weighted amount for the taxpayers in the same range of total income, since Table 3.7 counts - taxpayers only. The tape is banded once on its income moved to 2023-24: - each income leaf at its 2022-23 to 2023-24 factor (``income_factors``; - none holds the leaves nominal) and each rebased column at its factor over - all bands, on the tape's 2022-23 bands. A taxpayer is a record the tape - flags (TAXPAYER 1) or one whose income crosses the first band's lower - bound, the Personal Allowance, by 2023-24, so a saver who becomes a - taxpayer is counted once. A flagged taxpayer below the first band sits in + taxpayers only. The tape is banded once on its income moved to 2023-24 + (``_realised_total_income``): each income leaf at its 2022-23 to 2023-24 + factor (``income_factors``; none holds the leaves nominal) and each + rebased column at its factor over all bands, the published total over the + taxpayers' tape total. A taxpayer is a record the tape flags (TAXPAYER 1) + or one whose income crosses the first band's lower bound, the Personal + Allowance, by 2023-24, so a saver who becomes a taxpayer is counted once; + the factor over all bands counts the same taxpayers, finding the crossers + on income moved without their savings. A flagged taxpayer below the first band sits in it, as the table's lowest band holds those taxpayers (note 8); a tape without the flag counts every record at or above the first band. Any other donor takes the factor of all bands together. Banded so, the rebased @@ -2024,12 +2053,24 @@ def rebase_spi_donor_savings( original: dict[str, np.ndarray] = {} targets: dict[str, np.ndarray] = {} banding_factors: dict[str, float] = {} + # Both passes count the same taxpayers: those the tape flags and the + # records whose income crosses the first band by 2023-24, found here on + # income moved without the savings the banding factor then moves (Vahid's + # review of microcosm#1428). + first = ( + np.searchsorted( + edges, _realised_total_income(donor, donor, factors_in), side="right" + ) + - 1 + ) + first_crossed = ~tape_taxpayer & (band_2022 < 0) & (first >= 0) + first_taxpayer = tape_taxpayer | first_crossed if flagged else (first >= 0) for column, by_bound in published.items(): values = donor[column].to_numpy(dtype=np.float64) target = np.asarray([float(by_bound[bound]) for bound in bounds]) - taxpayer = tape_taxpayer | (band_2022 >= 0) + taxpayer = first_taxpayer tape = np.bincount( - np.clip(band_2022, 0, None)[taxpayer], + np.clip(first, 0, None)[taxpayer], weights=(weights * values)[taxpayer], minlength=len(bounds), ) @@ -2052,9 +2093,7 @@ def rebase_spi_donor_savings( if not original: return rebased, receipt - income = _tape_income_in_rebase_year( - donor, donor, {**factors_in, **banding_factors} - ) + income = _realised_total_income(donor, donor, {**factors_in, **banding_factors}) band = np.searchsorted(edges, income, side="right") - 1 crossed = ~tape_taxpayer & (band_2022 < 0) & (band >= 0) taxpayer = tape_taxpayer | crossed if flagged else (band >= 0) diff --git a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py index 30ed7a6efa..bb36856246 100644 --- a/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py +++ b/packages/microcosm-build/tests/engine_free/uk/test_uk_spi_savings_rebase.py @@ -304,9 +304,10 @@ def _edge_donor() -> pd.DataFrame: def test_the_tape_is_banded_on_its_income_moved_to_2023_24() -> None: # Banded on its 2022-23 income, A sits in the £12,570 band. Moved to - # 2023-24 (dividends x1.1, interest at all bands' 500 over 200), it crosses - # the £50,000 edge, the band the consumers will find it in after uprating, - # so its migration is counted once (microcosm#1428 review, finding 6). + # 2023-24 (dividends x1.1), it crosses the £50,000 edge, the band the + # consumers will find it in after uprating, so its migration is counted + # once (microcosm#1428 review, finding 6). The £12,570 band then carries + # no tape, so the factor over all bands is the £50,000 band's 400 over 200. held, held_receipt = rebase_spi_donor_savings(_edge_donor(), INTEREST_ONLY) assert held["savings_interest_income"].tolist() == pytest.approx([1.0, 4.0]) moved, receipt = rebase_spi_donor_savings( @@ -319,7 +320,7 @@ def test_the_tape_is_banded_on_its_income_moved_to_2023_24() -> None: assert receipt["band_by"] == "total_income_moved_to_2023_24" assert receipt["columns"]["savings_interest_income"][ "banding_factor" - ] == pytest.approx(2.5) + ] == pytest.approx(2.0) def test_savings_move_by_their_factor_over_all_bands_for_the_banding() -> None: @@ -466,3 +467,77 @@ def test_the_tape_taxpayer_flag_is_validated(tmp_path) -> None: ] with pytest.raises(ValueError, match="TAXPAYER"): spi_income.prepare_spi_donor_table(raw.assign(TAXPAYER=[1, 0, 1, 2]), seed=0) + + +def test_total_income_holds_the_published_total_without_growth() -> None: + # SPI's total income holds the leaves net of employment expenses and none + # of the gifts: GBP 600k of dividends with GBP 500k of share gifts is a + # total of GBP 600k, and GBP 45k of pay less GBP 3k of expenses is GBP + # 42k. With every factor at one the realised total is the published one + # (Vahid's review of microcosm#1428, item 1). + expenses = spi_income.SPI_HMRC_EMPLOYMENT_EXPENSES_COLUMN + pay = spi_income.SPI_HMRC_PAY_COLUMN + donor = pd.DataFrame( + { + "total_income": [600_000.0, 42_000.0], + "dividend_income": [600_000.0, 0.0], + "charitable_investment_gifts": [500_000.0, 0.0], + "gift_aid": [0.0, 0.0], + pay: [0.0, 45_000.0], + expenses: [0.0, 3_000.0], + } + ) + held = spi_income._realised_total_income(donor, donor, {}) + assert held.tolist() == pytest.approx([600_000.0, 42_000.0]) + # Growth moves the income leaves and the expenses, never the gifts. + grown = spi_income._realised_total_income( + donor, + donor, + { + "dividend_income": 1.1, + "charitable_investment_gifts": 2.0, + pay: 1.1, + expenses: 1.1, + }, + ) + assert grown.tolist() == pytest.approx([660_000.0, 46_200.0]) + + +def test_rebased_leaves_move_from_the_tapes_own_total() -> None: + # The band donors read the rebased tape, whose published total still holds + # the tape's own savings: a record's other leaves keep their place and its + # rebased interest replaces the interest the total held. + donor = pd.DataFrame( + { + "total_income": [20_000.0], + "savings_interest_income": [1_000.0], + "employment_income": [19_000.0], + } + ) + rebased = donor.assign(savings_interest_income=[3_000.0]) + realised = spi_income._realised_total_income(donor, rebased, {}) + assert realised.tolist() == pytest.approx([22_000.0]) + + +def test_both_passes_count_the_same_taxpayers() -> None: + # B pays no tax although its income is above the Personal Allowance + # (TAXPAYER 2): neither the factor over all bands nor the band factors + # count its interest (Vahid's review of microcosm#1428, item 5). All + # bands: 2,000 over A's and C's 500. + donor = pd.DataFrame( + { + "total_income": [20_000.0, 30_000.0, 60_000.0], + "FACT": [1.0, 1.0, 1.0], + "savings_interest_income": [200.0, 9_000.0, 300.0], + spi_income.SPI_DONOR_TAXPAYER_COLUMN: [True, False, True], + } + ) + _, receipt = rebase_spi_donor_savings( + donor, {"savings_interest_income": {12_570: 1_000.0, 50_000: 1_000.0}} + ) + interest = receipt["columns"]["savings_interest_income"] + assert interest["banding_factor"] == pytest.approx(4.0) + assert interest["band_factors"] == { + "12570": pytest.approx(5.0), + "50000": pytest.approx(1_000.0 / 300.0), + } From dc0785f1331263ec377cea5f6680870f64169cf8 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 2 Nov 2026 08:09:59 -0500 Subject: [PATCH 56/67] Add Belgium's target, precalibration and holdout reference documents (#1442) Plan step B3 of the Belgian transport port. tools/generate_be_target_references.py writes Belgium's calibration, precalibration and holdout reference documents, ageing pairs, intervals, profiles and inventory from Chronicle's pinned Belgian consumer artifact (87,112 facts, source commit 2c7e8357f). Every row stays proposed_pending_d1902, Belgium still refuses to activate, and nothing publishes a number. Tests hold separation at the fact, measure and resolved-key level, the ageing arithmetic against the shared compiler, the band partitions, the vintage mapping and byte-exact regeneration. GPT-6.1 Sol agreed at 989ce9b30; its six findings and four Opus delta rounds tightened the artifact-free selector checks after that, with no committed document changed after 40601e436. Co-Authored-By: Claude Opus 5.5 --- changelog.d/be-reference-documents.added.md | 1 + .../microcosm/build/be/chronicle_feed.json | 16 + .../microcosm/build/be/country_package.json | 35 + .../build/be/holdout_references.json | 716 + .../microcosm/build/be/precal_references.json | 21501 ++++++++++++++++ .../microcosm/build/be/reference_aging.json | 762 + .../build/be/reference_intervals.json | 92 + .../build/be/reference_inventory.json | 13120 ++++++++++ .../build/be/reference_profiles.json | 16 + .../src/microcosm/build/be/source_stages.json | 6 +- .../src/microcosm/build/be/spec/bundle.yaml | 14 +- .../src/microcosm/build/be/spec/catalogs.yaml | 34 +- .../src/microcosm/build/be/spec/sources.yaml | 41 +- .../microcosm/build/be/target_references.json | 4334 +++- .../shared/test_be_target_references.py | 1777 ++ .../engine_free/shared/test_country_spec.py | 336 +- .../shared/test_ledger_artifact.py | 1 + .../test_spec_engine_country_bundles.py | 9 + .../test_transport_reference_selection.py | 28 +- .../be_schema2_target_references.json | 278 + .../tests/golden/be_country_spec.json | 94 +- tools/generate_be_target_references.py | 2195 ++ 22 files changed, 45022 insertions(+), 384 deletions(-) create mode 100644 changelog.d/be-reference-documents.added.md create mode 100644 packages/microcosm-build/src/microcosm/build/be/chronicle_feed.json create mode 100644 packages/microcosm-build/src/microcosm/build/be/holdout_references.json create mode 100644 packages/microcosm-build/src/microcosm/build/be/precal_references.json create mode 100644 packages/microcosm-build/src/microcosm/build/be/reference_aging.json create mode 100644 packages/microcosm-build/src/microcosm/build/be/reference_intervals.json create mode 100644 packages/microcosm-build/src/microcosm/build/be/reference_inventory.json create mode 100644 packages/microcosm-build/src/microcosm/build/be/reference_profiles.json create mode 100644 packages/microcosm-build/tests/engine_free/shared/test_be_target_references.py create mode 100644 packages/microcosm-build/tests/fixtures/be_schema2_target_references.json create mode 100644 tools/generate_be_target_references.py diff --git a/changelog.d/be-reference-documents.added.md b/changelog.d/be-reference-documents.added.md new file mode 100644 index 0000000000..9fe9c01160 --- /dev/null +++ b/changelog.d/be-reference-documents.added.md @@ -0,0 +1 @@ +Add Belgium's calibration, pre-calibration and holdout reference documents, generated by `tools/generate_be_target_references.py` from a pinned Chronicle `be` feed (`chronicle_feed.json`). References carry selectors only. Demography targets Statbel's 1 January 2026 population by region, sex and age. Statbel A.1's eight broad stand-in income bands (the d1952 measure), B.4's joint and individual declarations, ONSS contributions and FPB benefit and mixed-income aggregates roll 2023 to 2025 facts to 2026 by declared FPB June 2026 ratio pairs. Commune population is the pre-calibration geography support. Eurostat D51A_C1, NBB and Eurostat household accounts, and FPB's gross wages are holdouts. B.1 assessed tax stays inactive because its tax-definition, income-ranking and policy-year checks fail. Rows without a producer or ruling stay parked with a named reason. `reference_inventory.json` records the stand-in gaps, ageing ratios, B.1 checks and every exclusion, and `reference_aging.json` holds G8-r2 diagnostic factors from RSZ wage totals. The catalog declares two euro money columns. Belgium stays inactive, and every method-card choice remains proposed pending d1902. diff --git a/packages/microcosm-build/src/microcosm/build/be/chronicle_feed.json b/packages/microcosm-build/src/microcosm/build/be/chronicle_feed.json new file mode 100644 index 0000000000..5ef7bb2e50 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/be/chronicle_feed.json @@ -0,0 +1,16 @@ +{ + "version": 1, + "country": "be", + "scope": "be_calibration", + "source_repo": "PolicyEngine/chronicle", + "source_commit": "2c7e8357f1dcb9af2337c10d6cf4cbd82b1e55ef", + "build": "build-bundle --suite be -> 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": 87112, + "facts_sha256": "e01a463065a81ba60139a24a605e52797442504478be60970e0ff66f9d3c6b95", + "manifest_sha256": "7839792643a6a32a1784328644df16c250e8d4ba08287c455983a6e7ceebb34c" +} diff --git a/packages/microcosm-build/src/microcosm/build/be/country_package.json b/packages/microcosm-build/src/microcosm/build/be/country_package.json index c02792bf68..9590487c51 100644 --- a/packages/microcosm-build/src/microcosm/build/be/country_package.json +++ b/packages/microcosm-build/src/microcosm/build/be/country_package.json @@ -32,6 +32,11 @@ "kind": "vintages", "schema_id": "vintages.schema.json" }, + { + "path": "chronicle_feed.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "gates.json", "kind": "legacy_json", @@ -42,6 +47,36 @@ "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "holdout_references.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "precal_references.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "reference_aging.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "reference_intervals.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "reference_inventory.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, + { + "path": "reference_profiles.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "release_contract.json", "kind": "legacy_json", diff --git a/packages/microcosm-build/src/microcosm/build/be/holdout_references.json b/packages/microcosm-build/src/microcosm/build/be/holdout_references.json new file mode 100644 index 0000000000..7aa6e4ade2 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/be/holdout_references.json @@ -0,0 +1,716 @@ +{ + "country": "be", + "schema_version": 2, + "reference_set": "holdout", + "description": "Belgian held-out references: compared with the model, never fitted. No calibration-side node may read this resource. Every row is parked until its measure has a producer; JRC's EUROMOD-BE statistics are deferred while d1822 is open.", + "allowed_value_operations": [ + "rolled_forward_by_ratio" + ], + "hierarchy": { + "providers": { + "eurostat": { + "label": "Eurostat" + }, + "fpb": { + "label": "Federal Planning Bureau" + }, + "nbb": { + "label": "National Bank of Belgium" + } + }, + "categories": { + "eurostat.household_accounts": { + "provider_id": "eurostat", + "label": "Household accounts" + }, + "eurostat.income_tax": { + "provider_id": "eurostat", + "label": "Income tax revenue" + }, + "fpb.household_account": { + "provider_id": "fpb", + "label": "Household account" + }, + "nbb.national_accounts": { + "provider_id": "nbb", + "label": "National accounts" + } + }, + "target_labels": { + "eurostat_d51a_c1_individual_income_tax": "Eurostat D51A_C1 taxes on individual or household income, 2025, rolled to 2026", + "eurostat_household_current_taxes_paid": "Eurostat household current taxes on income and wealth paid (D5), 2024, rolled to 2026", + "eurostat_household_gross_disposable_income": "Eurostat household and NPISH gross disposable income (B6G), 2024, rolled to 2026", + "eurostat_household_social_benefits_received": "Eurostat household social benefits received (D62), 2024, rolled to 2026", + "eurostat_household_social_contributions_paid": "Eurostat household social contributions paid (D61), 2024, rolled to 2026", + "fpb_gross_wages_and_salaries": "FPB gross wages and salaries (salaires bruts), 2025, rolled to 2026", + "nbb_household_gross_disposable_income": "NBB household gross disposable income (B6G), 2024, rolled to 2026" + } + }, + "target_references": [ + { + "name": "eurostat_d51a_c1_individual_income_tax", + "ledger_selector": { + "source_name": "eurostat", + "source_measure_id": "revenue", + "source_concept": "eurostat.gov_10a_taxag.value", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "eurostat.gov_10a_taxag.cy2025.income_tax_revenue_by_taxpayer.country", + "dimensions": [ + "freq", + "geo", + "na_item", + "sector", + "time", + "unit" + ], + "dimension_values": { + "freq": "A", + "geo": "BE", + "na_item": "D51A_C1", + "sector": "S13", + "time": 2025, + "unit": "MIO_EUR" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:e3c28f2774b8452eeb2acd91", + "assertion": "observation" + }, + "entity": "person", + "measure": "belgium_pit_federal_and_local_tax_before_withholding", + "period": 2026, + "family": "income_tax", + "category_id": "eurostat.income_tax", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "eurostat_d51a_c1_individual_income_tax", + "activation_status": "requires_holdout_measure", + "criticality": "diagnostic", + "measure_kind": "rules_output", + "publisher": "Eurostat", + "target_role": "validation", + "reference_set": "holdout", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "Held out of calibration; compared, never fitted. Accrual national-accounts revenue held out against assessed tax (BE-MC5). W3: needs a pinned rulespec-be binding for be/statutes/income_tax/individual/final_tax.yaml on the transported frame, the S5 pre-calibration allowlist entry for it, and B4's euro conversion of the donor inputs it reads.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t17_direct_taxes_households", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2025", + "target_period": "2026", + "holdout_use": "validation_comparator" + }, + "notes": "Held out of calibration; compared, never fitted. Accrual national-accounts revenue held out against assessed tax (BE-MC5). W3: needs a pinned rulespec-be binding for be/statutes/income_tax/individual/final_tax.yaml on the transported frame, the S5 pre-calibration allowlist entry for it, and B4's euro conversion of the donor inputs it reads.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t17.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.general_government_account.direct_taxes_households", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:09dcccdb13ecc60173a18079", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t17.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.general_government_account.direct_taxes_households", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ebae7d68bab03979e30b2b5e", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "nbb_household_gross_disposable_income", + "ledger_selector": { + "source_name": "nbb_national_accounts", + "source_measure_id": "household_disposable_income", + "source_concept": "nbb.household_income_accounts.gross_disposable_income", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "nbb.national_accounts.cy2024.household_disposable_income.country", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5e83461cf5b9b1d0292c4c7e", + "assertion": "observation" + }, + "entity": "household", + "measure": "household_gross_disposable_income_eur", + "period": 2026, + "family": "national_accounts", + "category_id": "nbb.national_accounts", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "nbb_household_gross_disposable_income", + "activation_status": "requires_holdout_measure", + "criticality": "diagnostic", + "measure_kind": "prepared_column", + "publisher": "National Bank of Belgium", + "target_role": "validation", + "reference_set": "holdout", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "Held out of calibration; compared, never fitted. No producer: rulespec-be's disposable-income policy is a narrow worker bridge, not integrated disposable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t06_net_national_disposable_income", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2024", + "target_period": "2026", + "holdout_use": "validation_comparator" + }, + "notes": "Held out of calibration; compared, never fitted. No producer: rulespec-be's disposable-income policy is a narrow worker bridge, not integrated disposable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t06.published_cell", + "entity_name": "institutional_sector", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.national_income_account.net_national_disposable_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:63c570cc58902f2813b3bde9", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t06.published_cell", + "entity_name": "institutional_sector", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.national_income_account.net_national_disposable_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5148b5898c391c11ff484930", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "eurostat_household_gross_disposable_income", + "ledger_selector": { + "source_name": "eurostat", + "source_measure_id": "amount", + "source_concept": "eurostat.nasa_10_nf_tr.non_financial_transaction_amount", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "eurostat.nasa_10_nf_tr.cy2024.household_non_financial_transactions.received.be", + "dimensions": [ + "direct", + "freq", + "geo", + "na_item", + "sector", + "time", + "unit" + ], + "dimension_values": { + "direct": "RECV", + "freq": "A", + "geo": "BE", + "na_item": "B6G", + "sector": "S14_S15", + "time": 2024, + "unit": "CP_MEUR" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:1c1549bca1f666dae3f1c6fe", + "assertion": "observation" + }, + "entity": "household", + "measure": "household_gross_disposable_income_eur", + "period": 2026, + "family": "household_accounts", + "category_id": "eurostat.household_accounts", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "eurostat_household_gross_disposable_income", + "activation_status": "requires_holdout_measure", + "criticality": "diagnostic", + "measure_kind": "prepared_column", + "publisher": "Eurostat", + "target_role": "validation", + "reference_set": "holdout", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "Held out of calibration; compared, never fitted. No producer, as for NBB's B6G. Eurostat's S14_S15 sector adds non-profit institutions to NBB's household figure.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t06_net_national_disposable_income", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2024", + "target_period": "2026", + "holdout_use": "validation_comparator" + }, + "notes": "Held out of calibration; compared, never fitted. No producer, as for NBB's B6G. Eurostat's S14_S15 sector adds non-profit institutions to NBB's household figure.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t06.published_cell", + "entity_name": "institutional_sector", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.national_income_account.net_national_disposable_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:63c570cc58902f2813b3bde9", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t06.published_cell", + "entity_name": "institutional_sector", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.national_income_account.net_national_disposable_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5148b5898c391c11ff484930", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "eurostat_household_social_benefits_received", + "ledger_selector": { + "source_name": "eurostat", + "source_measure_id": "amount", + "source_concept": "eurostat.nasa_10_nf_tr.non_financial_transaction_amount", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "eurostat.nasa_10_nf_tr.cy2024.household_non_financial_transactions.received.be", + "dimensions": [ + "direct", + "freq", + "geo", + "na_item", + "sector", + "time", + "unit" + ], + "dimension_values": { + "direct": "RECV", + "freq": "A", + "geo": "BE", + "na_item": "D62", + "sector": "S14_S15", + "time": 2024, + "unit": "CP_MEUR" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:8c7c28463b5421308945c344", + "assertion": "observation" + }, + "entity": "household", + "measure": "household_social_benefits_received_eur", + "period": 2026, + "family": "household_accounts", + "category_id": "eurostat.household_accounts", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "eurostat_household_social_benefits_received", + "activation_status": "requires_holdout_measure", + "criticality": "diagnostic", + "measure_kind": "prepared_column", + "publisher": "Eurostat", + "target_role": "validation", + "reference_set": "holdout", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "Held out of calibration; compared, never fitted. No producer: pensions (d1902), child benefits (not modelled at level) and unemployment receipts (W3) are missing.", + "ageing_target_equals": "FPB's 2026 projection of the pair's row: the base equals its denominator", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_social_benefits", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2024", + "target_period": "2026", + "holdout_use": "validation_comparator" + }, + "notes": "Held out of calibration; compared, never fitted. No producer: pensions (d1902), child benefits (not modelled at level) and unemployment receipts (W3) are missing.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.social_benefits", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bf52974b05acf19d1d3ccb28", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.household_account.social_benefits", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e87808ae0b585214ec608b92", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "eurostat_household_social_contributions_paid", + "ledger_selector": { + "source_name": "eurostat", + "source_measure_id": "amount", + "source_concept": "eurostat.nasa_10_nf_tr.non_financial_transaction_amount", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "eurostat.nasa_10_nf_tr.cy2024.household_non_financial_transactions.paid.be", + "dimensions": [ + "direct", + "freq", + "geo", + "na_item", + "sector", + "time", + "unit" + ], + "dimension_values": { + "direct": "PAID", + "freq": "A", + "geo": "BE", + "na_item": "D61", + "sector": "S14_S15", + "time": 2024, + "unit": "CP_MEUR" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:627f1716ff45e9ac8e2ffd22", + "assertion": "observation" + }, + "entity": "household", + "measure": "household_social_contributions_paid_eur", + "period": 2026, + "family": "household_accounts", + "category_id": "eurostat.household_accounts", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "eurostat_household_social_contributions_paid", + "activation_status": "requires_holdout_measure", + "criticality": "diagnostic", + "measure_kind": "prepared_column", + "publisher": "Eurostat", + "target_role": "validation", + "reference_set": "holdout", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "Held out of calibration; compared, never fitted. No producer: employer and self-employed contributions are not bound (W3).", + "ageing_target_equals": "FPB's 2026 projection of the pair's row: the base equals its denominator", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_social_contributions", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2024", + "target_period": "2026", + "holdout_use": "validation_comparator" + }, + "notes": "Held out of calibration; compared, never fitted. No producer: employer and self-employed contributions are not bound (W3).", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.social_contributions", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4c597d6ad755576b4e1faf01", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.household_account.social_contributions", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:deed6d1fc86e5e7032cbfa5e", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "eurostat_household_current_taxes_paid", + "ledger_selector": { + "source_name": "eurostat", + "source_measure_id": "amount", + "source_concept": "eurostat.nasa_10_nf_tr.non_financial_transaction_amount", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "eurostat.nasa_10_nf_tr.cy2024.household_non_financial_transactions.paid.be", + "dimensions": [ + "direct", + "freq", + "geo", + "na_item", + "sector", + "time", + "unit" + ], + "dimension_values": { + "direct": "PAID", + "freq": "A", + "geo": "BE", + "na_item": "D5", + "sector": "S14_S15", + "time": 2024, + "unit": "CP_MEUR" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:05ca22b4bedd957b4d655ff6", + "assertion": "observation" + }, + "entity": "household", + "measure": "household_current_taxes_on_income_paid_eur", + "period": 2026, + "family": "household_accounts", + "category_id": "eurostat.household_accounts", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "eurostat_household_current_taxes_paid", + "activation_status": "requires_holdout_measure", + "criticality": "diagnostic", + "measure_kind": "prepared_column", + "publisher": "Eurostat", + "target_role": "validation", + "reference_set": "holdout", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "Held out of calibration; compared, never fitted. No producer: needs the PIT binding (W3) aggregated to households.", + "ageing_target_equals": "FPB's 2026 projection of the pair's row: the base equals its denominator", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_current_taxes_on_income_and_wealth", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2024", + "target_period": "2026", + "holdout_use": "validation_comparator" + }, + "notes": "Held out of calibration; compared, never fitted. No producer: needs the PIT binding (W3) aggregated to households.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.current_taxes_on_income_and_wealth", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:67bb0b178a502334a5798bfa", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.household_account.current_taxes_on_income_and_wealth", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3638106fd28d6f6d119c0d5", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "fpb_gross_wages_and_salaries", + "ledger_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.household_account.gross_wages_and_salaries", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1b99b4161fa76ca1069ad5e7", + "assertion": "observation" + }, + "entity": "person", + "measure": "employment_income", + "period": 2026, + "family": "household_accounts", + "category_id": "fpb.household_account", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "fpb_gross_wages_and_salaries", + "activation_status": "requires_holdout_measure", + "criticality": "diagnostic", + "measure_kind": "transported_input", + "publisher": "Federal Planning Bureau", + "target_role": "validation", + "reference_set": "holdout", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "Held out of calibration; compared, never fitted. The card's wage-headline comparator (BE-MC5): gross wages, not compensation including employer contributions. The euro wage column has no producer until B4's currency bridge.", + "ageing_target_equals": "FPB's 2026 projection of the base's own row", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_gross_wages_and_salaries", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2025", + "target_period": "2026", + "holdout_use": "validation_comparator" + }, + "notes": "Held out of calibration; compared, never fitted. The card's wage-headline comparator (BE-MC5): gross wages, not compensation including employer contributions. The euro wage column has no producer until B4's currency bridge.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.gross_wages_and_salaries", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f17958efe84e42471bf68f80", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.household_account.gross_wages_and_salaries", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1b99b4161fa76ca1069ad5e7", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + } + ], + "target_profile": { + "schema_version": 1, + "hierarchy_reconciliations": [] + } +} diff --git a/packages/microcosm-build/src/microcosm/build/be/precal_references.json b/packages/microcosm-build/src/microcosm/build/be/precal_references.json new file mode 100644 index 0000000000..4c9a895a55 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/be/precal_references.json @@ -0,0 +1,21501 @@ +{ + "country": "be", + "schema_version": 2, + "reference_set": "precal", + "description": "Belgian pre-calibration references: Statbel commune population on 1 January 2025 as the atomic geography support mass, unaged (support shares). Identity only; no observation is carried.", + "allowed_value_operations": [ + "identity" + ], + "hierarchy": { + "providers": { + "statbel": { + "label": "Statbel" + } + }, + "categories": { + "statbel.geography_support": { + "provider_id": "statbel", + "label": "Geography support" + } + }, + "target_labels": { + "statbel_population_by_commune": "Statbel resident population by NIS 2025 commune, 1 January 2025 (atomic geography support)" + } + }, + "target_references": [ + { + "name": "statbel_population_by_commune__nis11001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f835115b964f486edb03713c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2ba2424c10ef64feaf16d030" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1c156d0b0bfc79da703fa489" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ed6bf439079a3a43301b05ef" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:24f980b6aeca203045018aad" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3d2995f8041fc351e1b93796" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a8c62bac99c48d4064404d5b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3a2d1f16fd426c4645fa3ed3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:baa871d4fe4ff0792582bad9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:48cec63734831d3be43e08b2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b404aa5f491504f62767655" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11023", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11023", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:08116f6132827984973e65f4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11024", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11024", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f5b244ddc70261fc1c5f8da9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:092c1f4acec379d6b08dbb28" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f98312c26d9a824224fa6a51" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11030", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11030", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:891aa52e5f887cf1bd674c25" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11035", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11035", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:db2bd7cb8285dee24cb77b49" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11037", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11037", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ebb1a2c549597c0fce21afb6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11038", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11038", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:98a3c165a4741125655ed192" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11039", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11039", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4bf83330863636ea38c1d733" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa8d8999f82ceaa94631b056" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11044", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11044", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:aabf84f79af2cefa2171d2f7" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11050", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11050", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f2e6faf54b3e648d21be8c45" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11052", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11052", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d756c12971df249306e7d3b4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11053", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11053", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1d624d5e14e2a1e017f986c1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11054", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11054", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a2a11691d7d6e984c13e3050" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11055", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11055", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:66de23402f11fe4d3b3f9dd8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis11057", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "11057", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:18ea2e86b6dca871d88c9e4e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f6190f8fc954c70d136f4ee9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9f1775f2016a51e43fe59b4b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12007", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12007", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:10b473e26371b4b277607435" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6a54548943390bb86e8931d4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4f4eb38aa2aad661ecdd5095" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cef10270c47a06a30ffac49c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:33452ad4ba8d42960048f7bb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12026", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12026", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:48bd6471bcce0cddcf9b7dc3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:626bca7ff95c4ef6e5a340ea" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12035", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12035", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ee823cc457c2997863731355" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:aafabc0708fa2641fd703750" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis12041", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "12041", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b55f80c204853baae1a1edba" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d52f015d80c444dfa43859cf" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cebbe381ca8fccdcb1f61a23" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:976fb693e7839076b2f9fcd6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6c05b10dbe151b156f627d0f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9f7778bbb860be66dd9dd485" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ff89fb85cf7345ac72dc6ab8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:30e7b019c4b92bce243175a9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1db0dafa387cead3002f7b7d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f1424c8d7e34bc49400eb97b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2d4a175a703e3164f6e373eb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ce392bc5794f7800929262cd" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c0302158da4a50383d565f81" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13017", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13017", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ad4b4bc71267284a7573dc7e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13019", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13019", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e970df2eb316e2d28e88027f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:82687547c5bc5bf7540b3345" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13023", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13023", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ca77ba8aa9abe7613d7e5161" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:642c3432f8266c0e6c4bb1fc" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:09dcc9eb78ffda3711909c89" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13031", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13031", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:393be545013ee65506482cd9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13035", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13035", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a6d46ee43c52f46a7f24d9a3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13036", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13036", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ae24c11949f28849171412a2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13037", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13037", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:863eee0a9aa6bb0806246b76" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f0b61d7c8f0223ff32d5a082" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13044", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13044", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:53afa95554353d0f64f4225b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13046", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13046", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ac792f7c1625c5e811d91ed9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13049", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13049", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:60dc283e6f738559c881494e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis13053", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "13053", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7bf8c05501cd74064bd8ebf0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2d585c928c6696cb65cf6d3d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3f43ac05a99a9609571acfba" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6e99159281cb445de87f5e53" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:adf7b902d17a732ffd39714a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5a36c085c3b65b1b35557485" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3808bccd2c24287170bb73f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21007", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21007", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c171cf681cdd918c0094f7f2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f56398ca97e85fb7580fa156" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a4db8707f90bf0273197bd4b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1ec9cff646c9328e12b5c444" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:58c68d409718ade65e5b8621" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:578c2849c6e5d57df35d1952" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a620c03e1210238fc29ea577" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cfc0334c4613fff27bf2b99e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21015", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21015", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:077ba5c4a856618fbd129319" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f009d8f5cf42298920f4e918" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21017", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21017", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b004cdb8f5a52eed4181d751" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a3cc2395a22bf1bf75d5461f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis21019", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "21019", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:57f326ae5e8333f987bca517" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:02c1aeb6508aef38296abc03" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e75560176e8ac1c5c90d408a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9e015382188dad2766ee592a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:970a1a96b78bcc18fccc82d7" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9de1f68743a33ca0db77c515" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23027", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23027", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:73afc64d64f10b8a9c72a237" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23033", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23033", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7a4b98bbe9e8d2cb634f2729" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23038", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23038", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5715b8c9c20c8b08f6082a70" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23039", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23039", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:95941c49512c441b7babd917" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23044", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23044", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:291cfd1f0a5d12d9b770ab5c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23045", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23045", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:16f1dd1eabeb3286a9982a6b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23047", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23047", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f182c3ab8fed8e6f1159af9e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23050", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23050", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e8f3d37e28ee7624546f5e22" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23052", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23052", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e78d274c0e47771e4e2afe57" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23060", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23060", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d524ba967a61f8e5a54f8286" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23062", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23062", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b4adae8fc9a3ee1fa5e48b48" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23064", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23064", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:572d29e3571b2e58f5556140" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23077", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23077", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:12be6c01c2cdfc615bc5d205" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23081", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23081", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8af66f6157bcf18c053e1e4a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23086", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23086", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1a2b031fdeb2934d15aa6f7b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23088", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23088", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c85647316d9575e13c411a88" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23094", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23094", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:116e3846d00d39960b117565" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23096", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23096", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:096812daecac9db839c86645" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23097", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23097", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b0b0b218246bbfe80e389c90" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23098", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23098", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b485b6097f35bea80cb9eded" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23099", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23099", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:afbb509d195f11a46cc1eabe" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23100", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23100", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d6125bb7906437bb79468dc9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23101", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23101", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2f2606e0a0ca8623b310a11d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23102", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23102", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:635c096e4510fe3c5bdae1d0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23103", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23103", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b8a91ff7e1228d95aa6946a8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23104", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23104", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f8f0ed336fdae18d38f46e12" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23105", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23105", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d43b7fb8f155532e880d2681" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis23106", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "23106", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:07e05bf61687b9f6e64c2d40" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:290808a46e8999400f54aab3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24007", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24007", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fd5c031595c6d661568c9dbb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e249a927c38fee8d6c75f8bf" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1a77532e81eb73a7ed431e3b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d80184141938f21025028433" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:da4194053a9e4a44a860c29e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:091ec51e72a5cca51f049011" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24020", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24020", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d1f49a680fe37f043bbece67" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24028", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24028", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:89b39f4fa8557888916cceee" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24033", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24033", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb62bce1f8914f706da3b183" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24038", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24038", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:13f22d7994295b96ffc30f56" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24041", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24041", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e45ee3be9062000e6d950e1d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24043", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24043", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5062d5a85793a70a5b192900" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24045", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24045", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b8619b2d24950bdceeee0424" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24048", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24048", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d23d36208473375a7fb52346" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24054", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24054", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9ab941b3590c212a66860819" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24055", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24055", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e8c377b535343776637202e0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24059", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24059", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:26cf5378797afaf309171c5c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24062", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24062", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c52e23bc2d1635535b376d7" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24066", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24066", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ca901229dcbdae0e16ab21a6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24086", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24086", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2f74e9b6d9cac9dbfd06074c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24094", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24094", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1342d25ec822fa3106c55a3b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24104", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24104", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0fb71fb9ea3220dc1494a60b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24107", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24107", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:12577df5cd35c0225611600c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24109", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24109", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d9eb1bd176b99b7b436b714d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24130", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24130", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:50fd2f56481894f5c90003b5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24133", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24133", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8aab0f9a8df63239d7acf3ce" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24134", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24134", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:268aacfea79d3a3eb1f8a5c8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24135", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24135", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:47e59b4a9a9564549ed47e75" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis24137", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "24137", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3887d0558525c60dbcbdaa20" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e52d8a343ddab1232a07c549" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b473d7c2a7a71da986c91b3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25015", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25015", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b339942f67186cdea703e09a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3eabea0848677203edc9d746" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25023", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25023", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e373a069c5f86a3d61d7b414" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25031", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25031", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ba2160017a20db3fb9137464" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25037", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25037", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:456c70c431866c3a567fa257" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25043", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25043", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8c4b80d36f74eac641e90ae5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25044", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25044", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e1bb3cf4855649ba39a06da7" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25048", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25048", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:52baae60ec2e139d8ec81f95" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25050", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25050", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a5a678e6289a085bb67cad7" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25068", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25068", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a3feb759a6a807fac70c7646" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25072", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25072", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:59b1eed7d57188acdf4afa9b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25084", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25084", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7d9aec4fd75b824cc3512fd1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25091", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25091", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ca47c1515d58c7d9fcc38878" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25105", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25105", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c6bc9ca977b955098f6b1cf" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25107", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25107", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6153710f9b421ecb3ae6064f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25110", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25110", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c5fc63e0cd8fe4acf4b15557" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25112", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25112", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0fd2c9fc072ff6bfa4343beb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25117", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25117", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:31db1f7056602c80bf0d00af" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25118", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25118", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e15715df9512ef12e5a303cf" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25119", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25119", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1391c6d2072df22995b58062" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25120", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25120", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e205087c16bdd6d8a050f719" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25121", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25121", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa8126693f6a4a618b5e675b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25122", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25122", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:325747d2ab4f680fcb14fe2c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25123", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25123", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2013a6adbb90eef840a8000e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis25124", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "25124", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5c4a05b60564aa3c66296e73" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5656ddcab84e4399b2294164" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f305f40fd233d1710a9d7c12" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c59e7f8128efd9c9531cd0f1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3558a5de469ce985206c6da1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:07e45fc4a9e39b152c2c1400" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a8df469042b32e93e27eef51" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31033", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31033", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ebc2e1d40b1ee6f7812ebd58" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b8e2a6eb01ca96b67a8179f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31042", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31042", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:88becf36b166c7b1ab0414bf" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis31043", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "31043", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:505c9a6337f1a369dcad0459" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis32003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "32003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1d700fb0ea693fa46d47aa57" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis32006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "32006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:22948739fc10b5f6f408ad49" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis32010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "32010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3af80a5f50bc791bd5c33d34" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis32011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "32011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:389437292e1107c3affc44ef" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis32030", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "32030", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:54612aec68ccf491eb6aef71" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis33011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "33011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8b55584ce01e614800f12838" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis33016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "33016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b9c907234f1d0a01636d879a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis33021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "33021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1bea80785821aeb284f0a1ed" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis33029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "33029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5557be004e3f31ded58471f2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis33037", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "33037", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a603254f4e7ec5e2bd481808" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis33039", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "33039", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b63f30e14a847c0fdf2282a5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis33040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "33040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b6ca7ef35b01024fc398e0f0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis33041", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "33041", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c938b07a350705e840ef1e04" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f78584ab1b3d0ff2875df595" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:992b23de736973ea54d23672" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:785a7e5be8511159ce8f5327" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f59d3093630854766b360a4a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9354e84843441f338eea5f26" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34023", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34023", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:28fd6594f5f01500a678f085" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2bc23bb384ea5284fd5ef680" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34027", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34027", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fb5322b8ee98143b3a2e33fa" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4fe29239f50ccaee44db1d53" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34041", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34041", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:dc45910e0cadc87fea32ab41" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34042", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34042", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b4ef4944132a0724b3b14ea" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis34043", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "34043", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:59fd239e1f23157fd1b572f4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis35002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "35002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c7ff4efac840ccc6a7997132" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis35005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "35005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cd6acddef8eed5ae41f63f7f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis35006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "35006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1abe4c5e057cd25ad5b5ba52" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis35011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "35011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:14d29994fa62c393f816f836" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis35013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "35013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9c8dd8eb0a7d27fadf5d1c6f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis35014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "35014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:046ec2ebdfccf665589a1850" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis35029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "35029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:03d9fe6be1cfb0702bbaa9e1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis36006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "36006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:146cf7da9d4d5f748aaec9a8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis36007", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "36007", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:38886fb03ae39b947d0513d0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis36008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "36008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7255722af56048d70280d7ba" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis36010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "36010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9f99d9c87db2ede8c72a2987" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis36011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "36011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ed7f11bfc025fc8456179b2f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis36012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "36012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:be9b1ebad9e6af5e14fd911e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis36015", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "36015", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:58ed64598a0472e1fae40160" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis36019", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "36019", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1f519b7b9492239efad45908" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis37002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "37002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:776c6d7c5193886190f803b4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis37010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "37010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5e846073a4b2c1aaa180d89a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis37011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "37011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6ffd7e73e6890d654aaeff68" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis37017", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "37017", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:37e04fa81bce43ee4b9e51af" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis37020", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "37020", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a1afdcca7a7c46c99c1c0bb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis37021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "37021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a445776a53f8cb107ae114b2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis37022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "37022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f2c5877ae47f8943e90866c6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis38002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "38002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4291ec62005491e80e542804" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis38008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "38008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:dabf43c332433ff502f24f1c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis38014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "38014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:907472c3370c7afb208d3229" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis38016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "38016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:880e44cd6302e79e6dbb3de6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis38025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "38025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8b18d4497695421180d67bf6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:06f0bafa753a0697844a870a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:221bd01caf1a1fdd26312db1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:358fc7cac0688b032d5c9042" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41024", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41024", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:50c681c2f7715b0fbc57d638" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41027", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41027", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0f92778f158a314aaceeea6b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41034", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41034", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:15a5ef3cf725ebb5c2ccf0bf" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41048", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41048", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c8852535011ecdedf26a3a2e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41063", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41063", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5cac1830c9561ce57bf33085" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41081", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41081", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c3f4894877c9bbb1ea2a7fbb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis41082", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "41082", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:921357a9af72c4abba10aa92" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a506c9dbf06b82889c07c18d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb017c8d9ff53db239e7092b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:936ef43c6a53129956bbd604" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e82a45b6c83ee9b5a1d3c5e5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:df58de9515c6252eea616d42" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cc6ef65cb34c0ac86f38ba0a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42023", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42023", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ea3186a85b623144103d75f5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1f2ed88bc0094b2742c11011" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42026", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42026", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:91c241047cf1672c507f21e7" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis42028", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "42028", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3ea3f49a5ae9217d1213f071" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis43002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "43002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:99b8ac397205c0e530d578d9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis43005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "43005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a95a557921e6a131c27b487c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis43007", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "43007", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:32562afdc4001c7e10ce48fa" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis43010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "43010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e54a0933c4bc70063b963085" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis43014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "43014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:388445ce30a9bf0958657006" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis43018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "43018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b6434d7e06af44b4fbb5d32d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:69dcc382485a8b8c57232fcc" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44019", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44019", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:07b806928eb1cf5727a02f56" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44020", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44020", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4f376b0076b5af3a865de4f9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2afd4d606045ffec0d6f72fd" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44052", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44052", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:dce77ddb1f14f362075af7d2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44064", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44064", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e0c3332db8b206bbca94f349" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44081", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44081", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8b13007f838cbb66735fb7f0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44083", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44083", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6600c877ac622a9de4642052" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44084", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44084", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e6ca3cc69e470f21410cef8b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44085", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44085", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ba2bf78799000d35556c80c6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44086", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44086", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:65d64e7e7b72f7f8b8958ca5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44087", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44087", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a79af09a66517e988a82eaba" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis44088", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "44088", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4ae0de37cc33f460ed2b21f3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45035", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45035", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:79e2126e9ac68b96ca145bbf" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45041", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45041", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c67b49223f77c565da03b7c5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45059", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45059", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cabff2f67fcaab4bcf421ce6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45060", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45060", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:45980c3902faa7719e097b66" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45061", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45061", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:10eeed38e2d62271a93e019f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45062", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45062", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:79903deb231bfba57d16655d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45063", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45063", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2abef0cba6f86f7f0f8b0c30" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45064", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45064", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:760c0dd1ac3ac9c66813a2bb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45065", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45065", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b7437bb52d0b61ffbff3c68a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis45068", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "45068", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1bad68fb21c1f1b1c5831247" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis46020", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "46020", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c009e0831d0a904fff338fe8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis46021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "46021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d441b4c26cd44039b7996e65" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis46024", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "46024", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:14b05aa96fd93cd0ae45626f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis46025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "46025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e3fed036b13f44014f2027b8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis46029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "46029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:466bc29e944bae6b02652f46" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis46030", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "46030", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4fe8687f3cf76331ec076e84" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:da97d42a04b925eff5937d36" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:87e5c3440d4650904559746b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:10d43bc480b188ad75962a4d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0863fe07357868adadbe6261" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:dba2f52e4e861794ff058569" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51017", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51017", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f4e48c89112d8bea62367337" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51019", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51019", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f184bfa407db057390b390c4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51065", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51065", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:44cd01c46b636fe3584a8880" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51067", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51067", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:46d1731c03983c41416d4859" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51068", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51068", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f56d6e5c981a6f6c737cc3a6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis51069", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "51069", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3928328ef423e76a77ef1dc" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9997afd6eff0e0da92fc32b2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b4cb92d24f52b28a93790b9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4271410eed66fa31a953a1dc" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52015", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52015", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2de2c026091d4f2808c476af" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c1f2d7c6fc2b6050f105816" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a1ca14787157f236d8c6671d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6f9bdf2dd79c15b111755a56" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6ebe19cad4923b1acc6be886" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52048", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52048", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9506b2c29f465cde17ac1e5a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52055", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52055", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ed84378a5fda89bc930db2cc" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52074", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52074", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:214ef539f812eb32e1d43ad8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis52075", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "52075", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f9e1249ef0536b83fc2be23f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d5b4d4908468fb77d9f4d54f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53020", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53020", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3ef8bdfc4b1813cfe82800c4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53028", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53028", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:aeee080cc94cd2837ca6918f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53039", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53039", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1dfcd1728b953351fca88407" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53044", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53044", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:98b534f676e705ee05bac016" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53046", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53046", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:15b4b83fc64fb8945f63383b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53053", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53053", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:555f1e6f15a0645aca7e22e4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53065", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53065", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0e62059990886d2918c64348" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53068", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53068", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:dadc7c964c472bb531bc09dd" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53070", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53070", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0ff2104a08dce9179f9f8a39" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53082", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53082", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7ca4de29f8c1d9d5a4df2237" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53083", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53083", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:41220ec2ac3526383043b4d3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis53084", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "53084", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:53e96c709aa85e74bc2cf722" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis55004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "55004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:44f7245f3cd4fbb89207bbbb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis55035", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "55035", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a6073052dda3f691e775e86f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis55040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "55040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5a865134c171efb13c453af1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis55050", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "55050", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e8a192e24715a33308fed11f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis55085", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "55085", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96299f95e3a24f6798852fc5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis55086", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "55086", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5499bdb6955165995f65c390" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f8608ecf422237eca610d405" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e0294ae21d11b56ee500b410" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7fcd36db5d752a0ab3ee6455" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0285707dcdf27db821e4a550" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:98eb556ad4dcd86a8293337c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56044", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56044", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:95df3aebcc9a15c61ceaccab" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56049", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56049", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:60727706c74dde9f15c79555" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56051", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56051", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e397eaaa439f21211523abeb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56078", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56078", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7746e64f240d841dcd98fbfc" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56086", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56086", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1eebb2c51266d85b24d4712c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis56088", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "56088", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:586311945ddc5582bf47b2d9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c656847fdce11b9e9f39467f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:09fa6d27f3ac5f7fb86092fd" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57027", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57027", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a9830703c47df1e14f62648d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57062", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57062", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0b5329491e0e22d21ce9b3f0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57064", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57064", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:de8a20162ce0141179bf1a28" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57072", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57072", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:92d788d00b89b9df76cfd544" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57081", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57081", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e759bb9d8c1a74efd1786d7b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57093", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57093", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa6b5433c61bc80e23a915ec" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57094", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57094", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c4f295f600b878941431997b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57095", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57095", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:52ca65316b89445c40635648" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57096", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57096", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b62160a2a2ee7a8584f150de" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis57097", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "57097", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:259d6461b061f216036c65f9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis58001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "58001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:da4990f792622cff0d434d23" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis58002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "58002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:933140f66092e0b3e66fd462" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis58003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "58003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0ed8d78d4ed477540c09e8bb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis58004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "58004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:97322ee52ed54d2d5511760f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1bb8d98e96330bcac45539a4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d506867e4a8c74ee46789746" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6028719a0da75496756ca013" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61019", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61019", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:06fe02234f649a902c67f162" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61024", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61024", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8de0582dad2d586eda047382" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61028", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61028", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c219d989a117d516557a681e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61031", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61031", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:806777fc8d56eb86af59a82d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61039", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61039", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:dbd598a413d2ee334afcbf15" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61041", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61041", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:43ea50ed15521330eb1109bb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61043", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61043", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:16f071cc05e8d23ac167f40c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61048", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61048", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a76dc39f0adead945654ab50" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61063", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61063", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9818e948dc3a02984ab2ef05" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61068", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61068", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f57531d090ba7934bd523f36" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61072", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61072", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9a1765160bac3cd12e9f4360" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61079", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61079", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:53c15e5b1d2343603ffaaf3d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61080", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61080", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fb3637dbffc01671bfcd5058" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis61081", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "61081", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:542d2223eb57fa2829ff0603" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7ae39530b5343b4097719b34" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2a7ebaac9dbcbb74d9096d6f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fc5f199b535d7b801e6fd2bb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9b1a569ed75c7b8f86f994bd" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62015", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62015", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fd7539021461fc9fd64c6d0e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bbb283da2ac2f9ac4ec706f8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62026", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62026", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d5b6f53e268fb2a9b9681724" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62027", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62027", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa80e0ec7e3dc707c6b11246" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62032", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62032", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9fda7e8f198a20019e6555e3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62038", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62038", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3395e1647278039755595cde" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62051", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62051", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a3be55ce22206854264f2c4e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62060", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62060", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:97aeb6001cfcfeea75bf6f73" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62063", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62063", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:816e3f51667ee780e9807bb2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62079", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62079", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c98acf6a6e3605ada5e154c1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62093", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62093", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:80e0959fe631885ee4b3c527" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62096", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62096", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b5f4e87ff801af3799cfade2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62099", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62099", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:46565145fb373d49c506fb20" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62100", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62100", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:237fcae7f1450a1f87b66090" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62108", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62108", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0e1f80da4c9be0c729f031c2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62118", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62118", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e1ef66ae6e24058cf24cf460" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62119", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62119", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5868fc6a6af2ff6a3bd4f687" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62120", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62120", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5132080713eb587308810d9b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62121", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62121", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ae44c98419316e8e2dfde50a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis62122", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "62122", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:df3f184540a9732aef1e5446" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:08f8aa167ec786d9c9229c8b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1814e9953d5f70890d467629" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1d334681b8549e826557cbb5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c11b468348d257dbf5a7ab0f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3973303d8e7290152832fbe2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63020", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63020", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d42cbde731128c5a2556910b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63023", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63023", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:503d1c2830b8f29d9adb3f55" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63035", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63035", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:88367cbeb1bb3a2bb225dba2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63038", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63038", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8a1c6ac7eb26f9186da1daec" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a2d84ed38223326ad32a75c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63045", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63045", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ab9bfbba5fea5d2ecb727c5e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63046", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63046", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6eef12675113143d59ab616c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63048", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63048", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:269df8f181c3fd9fcb408953" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63049", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63049", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bce7a4bd8eebed960d2cf697" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63057", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63057", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:92285080e23e90b1e408fdb5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63058", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63058", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:27352a66a7c6af3ed8f914e2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63061", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63061", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:62d2d5caf6c6945efcee93da" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63067", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63067", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:732bc5cbece5713286ad49f1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63072", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63072", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:304d043ae3c898aacb1ddfea" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63073", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63073", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b16def2ed8946254307fd600" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63075", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63075", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fea3ebf78a10ad3c81932e06" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63076", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63076", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:343c3f178611fc55df15572c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63079", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63079", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5d72f434c9a3474dbe71ed19" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63080", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63080", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8a0a8e80eed2c5e9b0ad018d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63084", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63084", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e5e71a7e1231f4ac05141151" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63086", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63086", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:78ef03e6acaf48ab0f0a7836" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63087", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63087", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cee036e20247a55f570c7f3f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63088", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63088", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:336cc36f2630e1583c8741c0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis63089", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "63089", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:da498849f929bcc09179e85b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64008", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64008", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f1324b54394f14f79217a0af" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64015", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64015", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a5bd56c1146bbda5d5b970a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:402dbb99b7eaea5054ae85a2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64023", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64023", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ab398159391457cbfb0debe3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64025", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64025", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:27e61ea50f487302fdcf2614" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f50c8d11d8a6737bf3f206ef" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64034", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64034", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b1a56e77482c38ddd403efcb" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64047", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64047", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b68238d539c05eb27ce584c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64056", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64056", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fe116320ba124917b91fc70f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64063", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64063", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:abee3ec8f8ad270411746a77" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64065", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64065", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb8cb8db9d68e5f5ab427ad6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64074", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64074", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d9cca91103400f03d4512687" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64075", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64075", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:12bc6b56fa2d2399237d8f6e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis64076", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "64076", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8b96362268c32bfc8a1bd3d4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71002", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71002", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:43e38a6fee0eb558cdf3c2d0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:38ea60af5242708a2950f519" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4e99230647364a21c7e36bf5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f38f3ae6f93317919fcfe6c7" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71017", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71017", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a667eb27a7abd6a80626dccc" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71020", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71020", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6c678a3e244f3fd2e697ec33" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71024", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71024", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:158105242e61dc604f7ce43e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71034", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71034", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3389622ccb1e9f53ef736505" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71037", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71037", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6e1d488c0de5bebf5609ac5c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71045", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71045", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f5edd0926eea3a484750ddba" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71053", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71053", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bbb9fa09496f83376272c284" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71066", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71066", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6e2d2b374153acd25552c424" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71067", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71067", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cbe7b4bd80cd717121c8a55f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71070", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71070", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c00ed959717f249cfa1a3b3a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71071", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71071", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:016e269edcd5d6b7c7d7d7ce" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis71072", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "71072", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:10960756b96a7a6c6eda43af" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:118449fe84c7d6c46c1a524c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:57f1a472e131ef465aff1e66" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9dcb3d6a3d6be5781206d066" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72020", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72020", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c1629c221ec490b59e3bd8a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72021", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72021", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a27c8e9c47a7ba013ca3fc07" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72030", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72030", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ef2da197b4d7272c0f7dfa7a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72037", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72037", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2013e91ef366cf1612ce9c7b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72038", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72038", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f7014f96fa6a47003b77bf36" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72039", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72039", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f08b2ba42fb0d77debb1655b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72041", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72041", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7bf2230fd69814090859d15d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72042", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72042", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:84bec730fbec9ad24c485a51" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis72043", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "72043", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:090997dfddd6371ec8605dc0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b7f2af1f8f193eed041ee8c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f618029c4b0501939b6138c0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73028", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73028", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:66c95334c99c343a30aca149" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73042", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73042", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:117ad2ae33571501ed106590" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73066", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73066", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:884d1ff92cc61add2f0a1615" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73098", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73098", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ba1982f698ab40e678940444" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73107", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73107", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ce7d8146a760c3a2e43826c0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73109", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73109", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:196fd7f04acee247618bce28" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73110", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73110", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:71084bf8256a9cafdbb05515" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis73111", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "73111", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f10feace0509d39dd2afd832" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis81001", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "81001", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ac2e9d4344d2b33f02e5016d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis81003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "81003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:15c625e31cdeea1327ad6fc3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis81004", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "81004", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:44ab1febc1a968eeb456064b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis81013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "81013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7b941b2308015d679d07e1ff" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis81015", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "81015", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a846a2a49ef204e1a48e0ce3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis82009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "82009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b12cac11649f9d5ca9129fac" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis82014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "82014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cc5c70168692c2a6acdf970f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis82032", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "82032", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:69a7ae1992332b0aaee74a96" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis82036", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "82036", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8f635f15e0f466658b6966b4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis82037", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "82037", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4ef2cc1ee0b0694b518d94ff" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis82038", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "82038", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4974945db7ed97ba79bf0e34" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis82039", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "82039", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:913492db699fe335bcf2f9b8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83012", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83012", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f906bddd2a9031d7789454e0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:65aef9fa06660e59303111f8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83028", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83028", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:57be612717150562283e0eb8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83031", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83031", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:47b7d31757d57921640089ae" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83034", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83034", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b57dd57e29696aa7a925d1e3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83040", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83040", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:94142579059fd20bed646ce7" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83044", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83044", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2ebd199120a2e208077afef3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83049", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83049", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6acfe13a7b0f561dc984ce77" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis83055", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "83055", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:484419bc1a606afceeed0fd5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8c10e52ef675efb1b0a891a8" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:222603d39bd0bea7a1980373" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84016", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84016", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:58b82b95db1d5532d6888db9" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84029", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84029", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0080a472eb23cfaa3249435d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84033", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84033", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5f93007cb95669086a31c47b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84035", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84035", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:482ec099793ace830eff9adc" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84043", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84043", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:636ed099505e8f892fdb256d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84050", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84050", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9183f57470e5122283827a45" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84059", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84059", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c7c6a501f114533e00cce27" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84068", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84068", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e5cccad3f65b272b7f10db95" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84075", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84075", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:54689453f5d0a002f1c42073" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis84077", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "84077", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:12ef5c6fb7454ae7ae0659c6" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85007", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85007", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:17ad107ab5d2f66119facb7c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85009", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85009", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:18fb7d0e5af97e10f168545d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85011", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85011", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d2792735b9b8b51283d83a7f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85024", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85024", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bae751ae2c1cb1d7eede0743" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85026", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85026", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5edd80b21b149d00dacdc15c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85034", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85034", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a1bcaf7e8536b0256982483d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85039", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85039", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:6397fde6cc26d4351cfa2df4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85045", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85045", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ca7988dd927ba24395f22c87" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85046", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85046", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5604eca43a40ac333769695f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis85047", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "85047", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:05be2a3c1b79ef12822bad02" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91005", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91005", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:7afd4e91772c22fb4269a5a2" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91013", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91013", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a7867a2f57940b77b0ae9ef5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91015", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91015", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f58a68c51f24cc800ae8d93d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91030", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91030", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:90c1762b1a451422199a1aaa" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91034", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91034", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0395b8a5266ea04169b3c7b0" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91054", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91054", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:37f7cac13a55533a4c75d40c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91059", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91059", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b8707c1637280c4c40578596" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91064", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91064", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:dd96e152ca26b63e93b31df1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91072", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91072", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d2b31b87a278a146d3c656aa" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91103", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91103", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4d64a22720614b6b38c7eb61" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91114", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91114", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:c40b8284c39686db34fb268d" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91120", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91120", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9ac244766b9878eded162391" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91141", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91141", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1bdd7edd8891e4529c706fa4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91142", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91142", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:25b6048ba0ec02a707028e52" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis91143", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "91143", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d05115c09dcefdd8da80c229" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92003", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92003", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1297965dc10b953c11e8197b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92006", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92006", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f8d3d4e370e77fea69454c4b" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92035", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92035", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0d1864b846bb52fe119025c5" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92045", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92045", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:170b34e0b7e919ebd2556f1f" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92048", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92048", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5024ad24ccbaf007e5866a74" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92054", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92054", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:cdcd79c086bbd4c599dca3e1" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92087", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92087", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:fc2c4c5352cb19d8e79ba181" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92094", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92094", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:77ead52847844179ddeb7f7c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92097", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92097", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:28598fb8436a54d339405600" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92101", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92101", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:afcd450a288db9d306d6878c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92114", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92114", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d97d440330a30e1514ab5c50" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92137", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92137", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:9048d6e970cd431e972724c4" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92138", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92138", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:741aac13da30f1b4cf9053b3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92140", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92140", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d111de7509f28ad12255d511" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92141", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92141", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a6d92fe328d9c4905e5c966e" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis92142", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "92142", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a48525eda2193af1843d1939" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis93010", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "93010", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3ed65ce48e06ec0570d77f48" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis93014", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "93014", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:30c8da65b60af9893d5298ea" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis93018", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "93018", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5b2490c5d4e4256aea4d8020" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis93022", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "93022", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:162b0ca73c18446cf3d89a6a" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis93056", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "93056", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:73b23579a20dd10c94338502" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis93088", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "93088", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:8dec5d05b2281f63d39bb1c3" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + }, + { + "name": "statbel_population_by_commune__nis93090", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "commune", + "geography_id": "93090", + "geography_vintage": "nis_2025", + "record_set_id": "statbel.population_structure.cy2025.people.by_commune_nis2025.total", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c76fe4b075313027029e63c" + }, + "entity": "person", + "measure": "people", + "period": 2025, + "family": "geography_support", + "category_id": "statbel.geography_support", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_commune", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "geography_spine", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "nis_2025", + "geography_vintage_authority": "vintage:be_nis_2025", + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025" + } + } + ], + "target_profile": { + "schema_version": 1, + "hierarchy_reconciliations": [] + } +} diff --git a/packages/microcosm-build/src/microcosm/build/be/reference_aging.json b/packages/microcosm-build/src/microcosm/build/be/reference_aging.json new file mode 100644 index 0000000000..672bf14f7b --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/be/reference_aging.json @@ -0,0 +1,762 @@ +{ + "schema_version": 1, + "feed_identity": { + "source_commit": "2c7e8357f1dcb9af2337c10d6cf4cbd82b1e55ef", + "facts_sha256": "e01a463065a81ba60139a24a605e52797442504478be60970e0ff66f9d3c6b95", + "manifest_sha256": "7839792643a6a32a1784328644df16c250e8d4ba08287c455983a6e7ceebb34c", + "artifact_schema_version": "policyengine_ledger.consumer_artifact.v2", + "consumer_fact_schema_versions": [ + "chronicle.consumer_fact.v4" + ], + "consumer_fact_schema_sha256": "d953306d6f01fbc64db4372d0262d3012ee590269f8a25b276b18dca0626c6a0", + "fact_row_count": 87112 + }, + "factors": [ + { + "declaration": { + "schema_version": 1, + "id": "rsz_ordinary_remuneration_cy2023_to_cy2025_observed", + "operation": "projected_period_average_ratio", + "operation_version": 1, + "purpose": "diagnostic", + "feed_identity": { + "source_commit": "2c7e8357f1dcb9af2337c10d6cf4cbd82b1e55ef", + "facts_sha256": "e01a463065a81ba60139a24a605e52797442504478be60970e0ff66f9d3c6b95", + "manifest_sha256": "7839792643a6a32a1784328644df16c250e8d4ba08287c455983a6e7ceebb34c", + "artifact_schema_version": "policyengine_ledger.consumer_artifact.v2", + "consumer_fact_schema_versions": [ + "chronicle.consumer_fact.v4" + ], + "consumer_fact_schema_sha256": "d953306d6f01fbc64db4372d0262d3012ee590269f8a25b276b18dca0626c6a0", + "fact_row_count": 87112 + }, + "source_period": 2023, + "target_period": 2025, + "source_schedule": [ + { + "selector": { + "source_name": "rsz_annual_wages_key_figures", + "source_measure_id": "ordinary_remuneration", + "source_concept": "rsz.annual_wages.ordinary_remuneration", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "rsz.annual_wages.year2023.ordinary_remuneration", + "dimensions": [ + "rsz.annual_worker_type_sex" + ], + "dimension_values": { + "rsz.annual_worker_type_sex": "total" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c0d2f4c10c54cee45e5777b", + "assertion": "observation" + }, + "validation": { + "unit": "EUR_thousands", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_vintage": "rsz_raw_wages_prepublication_2026_10_22", + "entity_role": "employee", + "provenance_class": "administrative", + "assertion": "observation", + "period_coverage": { + "start_date": "2023-01-01", + "end_date": "2023-12-31" + }, + "source_column_id": "ordinary_remuneration" + }, + "weight": "1", + "sequence": 0 + } + ], + "target_schedule": [ + { + "selector": { + "source_name": "rsz_annual_wages_key_figures", + "source_measure_id": "ordinary_remuneration", + "source_concept": "rsz.annual_wages.ordinary_remuneration", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "rsz.annual_wages.year2025.ordinary_remuneration", + "dimensions": [ + "rsz.annual_worker_type_sex" + ], + "dimension_values": { + "rsz.annual_worker_type_sex": "total" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c1a0cfec5e2740c02758f98", + "assertion": "observation" + }, + "validation": { + "unit": "EUR_thousands", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_vintage": "rsz_raw_wages_prepublication_2026_10_22", + "entity_role": "employee", + "provenance_class": "administrative", + "assertion": "observation", + "period_coverage": { + "start_date": "2025-01-01", + "end_date": "2025-12-31" + }, + "source_column_id": "ordinary_remuneration" + }, + "weight": "1", + "sequence": 0, + "projection_offset": 0 + } + ], + "growth": null, + "subperiods_per_year": 1, + "projection_policy": "observed_preferred_latest_contiguous", + "rounding": { + "digits": 6, + "mode": "nearest_half_even" + }, + "expected_operational_factor": { + "numerator": 1063921, + "denominator": 1000000 + }, + "validity": { + "declared_on": "2026-11-01", + "valid_from": "2026-11-01", + "valid_until": "2027-06-30", + "as_of": "2026-11-01" + }, + "evidence": [ + "RSZ/ONSS annual wages key figures (Kerncijfers), ordinary remuneration, all employees, calendar years; pre-publication raw data, 2024-2025 not final", + "Diagnostic cross-check of the observed segment of FPB wage-driven ratio pairs; never a profile or money normalization input" + ], + "decision_references": [ + "BE-MC0 (proposed pending d1902): targets rolled to 2026 by FPB June 2026 ratio pairs", + "G8-r2 factor resolver: projected_period_average_ratio@1" + ] + }, + "operational_factor": { + "numerator": 1063921, + "denominator": 1000000 + }, + "receipt": { + "schema_version": 1, + "operation": "projected_period_average_ratio", + "operation_version": 1, + "factor_id": "rsz_ordinary_remuneration_cy2023_to_cy2025_observed", + "declaration_sha256": "12c72b7401ea0eb9784508e783f41970f08cbf548cc4615d2484721aa87ee2c6", + "feed_identity": { + "source_commit": "2c7e8357f1dcb9af2337c10d6cf4cbd82b1e55ef", + "facts_sha256": "e01a463065a81ba60139a24a605e52797442504478be60970e0ff66f9d3c6b95", + "manifest_sha256": "7839792643a6a32a1784328644df16c250e8d4ba08287c455983a6e7ceebb34c", + "artifact_schema_version": "policyengine_ledger.consumer_artifact.v2", + "consumer_fact_schema_versions": [ + "chronicle.consumer_fact.v4" + ], + "consumer_fact_schema_sha256": "d953306d6f01fbc64db4372d0262d3012ee590269f8a25b276b18dca0626c6a0", + "fact_row_count": 87112 + }, + "source_period": 2023, + "target_period": 2025, + "source_schedule": [ + { + "selector": { + "source_name": "rsz_annual_wages_key_figures", + "source_measure_id": "ordinary_remuneration", + "source_concept": "rsz.annual_wages.ordinary_remuneration", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "rsz.annual_wages.year2023.ordinary_remuneration", + "dimensions": [ + "rsz.annual_worker_type_sex" + ], + "dimension_values": { + "rsz.annual_worker_type_sex": "total" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c0d2f4c10c54cee45e5777b", + "assertion": "observation" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c0d2f4c10c54cee45e5777b", + "decimal_operand": "160796591.5", + "numeric_token_proof": { + "numeric_representation": "binary_float_with_lexical_token", + "lexical_token": "160796591.5", + "recovered_decimal": "160796591.5", + "decimal_values_equal": true + }, + "validation": { + "unit": "EUR_thousands", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_vintage": "rsz_raw_wages_prepublication_2026_10_22", + "entity_role": "employee", + "provenance_class": "administrative", + "assertion": "observation", + "period_coverage": { + "start_date": "2023-01-01", + "end_date": "2023-12-31" + }, + "source_column_id": "ordinary_remuneration" + }, + "period": { + "type": "calendar_year", + "value": 2023 + }, + "source": { + "extracted_at": "2026-10-24", + "extraction_method": "CellSelectorSpec and SourceRecordSpec resolved from cells", + "method_notes": "Each fact carries source_record_id, source_cell_keys, and source_row_keys when available.", + "raw_r2_bucket": "ledger-raw", + "raw_r2_key": "raw/belgium/rsz-annual-wages-key-figures-2020-2025/2025/7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97/annual_wages_key_figures_2020_2025.csv", + "raw_r2_uri": "r2://ledger-raw/raw/belgium/rsz-annual-wages-key-figures-2020-2025/2025/7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97/annual_wages_key_figures_2020_2025.csv", + "source_file": "annual_wages_key_figures_2020_2025.csv", + "source_name": "rsz_annual_wages_key_figures", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_size_bytes": 68891, + "source_table": "Lonen en bezoldigde prestaties, Kerncijfers-Chiffres Clés, 2020–2025", + "url": "https://www.rsz.be/file/6103c41969844d308979992d7f84d51e59927e1e/c4c5776181e3dd24273ecb6b9486065cb468fadb/ruwedata-donneesbrutes-periods-wages.xlsx", + "vintage": "rsz_raw_wages_prepublication_2026_10_22" + }, + "unit": "EUR_thousands", + "assertion": "observation", + "provenance_class": "administrative", + "entity_role": "employee", + "period_coverage": { + "basis": "calendar", + "end_date": "2023-12-31", + "notes": "Calendar-year remuneration or paid days/hours; pre-publication raw data, landing page updated 22/10/2026. The 2024–2025 figures are not described as final. RSZ-registered employment in Belgium; includes inbound cross-border workers, excludes posted workers and self-employed people. Administrative employment population differs from Statbel fiscal declarations.", + "source_period_label": "2023", + "start_date": "2023-01-01" + }, + "weight": "1", + "sequence": 0 + } + ], + "target_schedule": [ + { + "selector": { + "source_name": "rsz_annual_wages_key_figures", + "source_measure_id": "ordinary_remuneration", + "source_concept": "rsz.annual_wages.ordinary_remuneration", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "rsz.annual_wages.year2025.ordinary_remuneration", + "dimensions": [ + "rsz.annual_worker_type_sex" + ], + "dimension_values": { + "rsz.annual_worker_type_sex": "total" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c1a0cfec5e2740c02758f98", + "assertion": "observation" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c1a0cfec5e2740c02758f98", + "decimal_operand": "171074878.6", + "numeric_token_proof": { + "numeric_representation": "binary_float_with_lexical_token", + "lexical_token": "171074878.6", + "recovered_decimal": "171074878.6", + "decimal_values_equal": true + }, + "validation": { + "unit": "EUR_thousands", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_vintage": "rsz_raw_wages_prepublication_2026_10_22", + "entity_role": "employee", + "provenance_class": "administrative", + "assertion": "observation", + "period_coverage": { + "start_date": "2025-01-01", + "end_date": "2025-12-31" + }, + "source_column_id": "ordinary_remuneration" + }, + "period": { + "type": "calendar_year", + "value": 2025 + }, + "source": { + "extracted_at": "2026-10-24", + "extraction_method": "CellSelectorSpec and SourceRecordSpec resolved from cells", + "method_notes": "Each fact carries source_record_id, source_cell_keys, and source_row_keys when available.", + "raw_r2_bucket": "ledger-raw", + "raw_r2_key": "raw/belgium/rsz-annual-wages-key-figures-2020-2025/2025/7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97/annual_wages_key_figures_2020_2025.csv", + "raw_r2_uri": "r2://ledger-raw/raw/belgium/rsz-annual-wages-key-figures-2020-2025/2025/7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97/annual_wages_key_figures_2020_2025.csv", + "source_file": "annual_wages_key_figures_2020_2025.csv", + "source_name": "rsz_annual_wages_key_figures", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_size_bytes": 68891, + "source_table": "Lonen en bezoldigde prestaties, Kerncijfers-Chiffres Clés, 2020–2025", + "url": "https://www.rsz.be/file/6103c41969844d308979992d7f84d51e59927e1e/c4c5776181e3dd24273ecb6b9486065cb468fadb/ruwedata-donneesbrutes-periods-wages.xlsx", + "vintage": "rsz_raw_wages_prepublication_2026_10_22" + }, + "unit": "EUR_thousands", + "assertion": "observation", + "provenance_class": "administrative", + "entity_role": "employee", + "period_coverage": { + "basis": "calendar", + "end_date": "2025-12-31", + "notes": "Calendar-year remuneration or paid days/hours; pre-publication raw data, landing page updated 22/10/2026. The 2024–2025 figures are not described as final. RSZ-registered employment in Belgium; includes inbound cross-border workers, excludes posted workers and self-employed people. Administrative employment population differs from Statbel fiscal declarations.", + "source_period_label": "2025", + "start_date": "2025-01-01" + }, + "status": "observed", + "sequence": 0, + "weight": "1", + "projection_offset": 0 + } + ], + "subperiods_per_year": 1, + "projection_policy": "observed_preferred_latest_contiguous", + "denominator_mean": { + "numerator": 321593183, + "denominator": 2 + }, + "growth": null, + "root_bounds": { + "lower": { + "numerator": 1, + "denominator": 1 + }, + "upper": { + "numerator": 1, + "denominator": 1 + }, + "exact": true, + "decimal_places": 14, + "degree": 1, + "radicand": { + "numerator": 1, + "denominator": 1 + } + }, + "numerator_mean_bounds": { + "lower": { + "numerator": 855374393, + "denominator": 5 + }, + "upper": { + "numerator": 855374393, + "denominator": 5 + } + }, + "unrounded_factor_bounds": { + "lower": { + "numerator": 1710748786, + "denominator": 1607965915 + }, + "upper": { + "numerator": 1710748786, + "denominator": 1607965915 + } + }, + "rounding": { + "digits": 6, + "mode": "nearest_half_even" + }, + "operational_factor": { + "numerator": 1063921, + "denominator": 1000000 + }, + "validity": { + "declared_on": "2026-11-01", + "valid_from": "2026-11-01", + "valid_until": "2027-06-30", + "as_of": "2026-11-01" + }, + "evidence": [ + "RSZ/ONSS annual wages key figures (Kerncijfers), ordinary remuneration, all employees, calendar years; pre-publication raw data, 2024-2025 not final", + "Diagnostic cross-check of the observed segment of FPB wage-driven ratio pairs; never a profile or money normalization input" + ], + "decision_references": [ + "BE-MC0 (proposed pending d1902): targets rolled to 2026 by FPB June 2026 ratio pairs", + "G8-r2 factor resolver: projected_period_average_ratio@1" + ], + "receipt_sha256": "0c6b93472a6c4e8a3510bc83106a49d25b71e6729c04e16b154e94b053fac36d" + } + }, + { + "declaration": { + "schema_version": 1, + "id": "rsz_ordinary_remuneration_cy2024_to_cy2025_observed", + "operation": "projected_period_average_ratio", + "operation_version": 1, + "purpose": "diagnostic", + "feed_identity": { + "source_commit": "2c7e8357f1dcb9af2337c10d6cf4cbd82b1e55ef", + "facts_sha256": "e01a463065a81ba60139a24a605e52797442504478be60970e0ff66f9d3c6b95", + "manifest_sha256": "7839792643a6a32a1784328644df16c250e8d4ba08287c455983a6e7ceebb34c", + "artifact_schema_version": "policyengine_ledger.consumer_artifact.v2", + "consumer_fact_schema_versions": [ + "chronicle.consumer_fact.v4" + ], + "consumer_fact_schema_sha256": "d953306d6f01fbc64db4372d0262d3012ee590269f8a25b276b18dca0626c6a0", + "fact_row_count": 87112 + }, + "source_period": 2024, + "target_period": 2025, + "source_schedule": [ + { + "selector": { + "source_name": "rsz_annual_wages_key_figures", + "source_measure_id": "ordinary_remuneration", + "source_concept": "rsz.annual_wages.ordinary_remuneration", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "rsz.annual_wages.year2024.ordinary_remuneration", + "dimensions": [ + "rsz.annual_worker_type_sex" + ], + "dimension_values": { + "rsz.annual_worker_type_sex": "total" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:fff2864b2ff60754bce8bfcf", + "assertion": "observation" + }, + "validation": { + "unit": "EUR_thousands", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_vintage": "rsz_raw_wages_prepublication_2026_10_22", + "entity_role": "employee", + "provenance_class": "administrative", + "assertion": "observation", + "period_coverage": { + "start_date": "2024-01-01", + "end_date": "2024-12-31" + }, + "source_column_id": "ordinary_remuneration" + }, + "weight": "1", + "sequence": 0 + } + ], + "target_schedule": [ + { + "selector": { + "source_name": "rsz_annual_wages_key_figures", + "source_measure_id": "ordinary_remuneration", + "source_concept": "rsz.annual_wages.ordinary_remuneration", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "rsz.annual_wages.year2025.ordinary_remuneration", + "dimensions": [ + "rsz.annual_worker_type_sex" + ], + "dimension_values": { + "rsz.annual_worker_type_sex": "total" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c1a0cfec5e2740c02758f98", + "assertion": "observation" + }, + "validation": { + "unit": "EUR_thousands", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_vintage": "rsz_raw_wages_prepublication_2026_10_22", + "entity_role": "employee", + "provenance_class": "administrative", + "assertion": "observation", + "period_coverage": { + "start_date": "2025-01-01", + "end_date": "2025-12-31" + }, + "source_column_id": "ordinary_remuneration" + }, + "weight": "1", + "sequence": 0, + "projection_offset": 0 + } + ], + "growth": null, + "subperiods_per_year": 1, + "projection_policy": "observed_preferred_latest_contiguous", + "rounding": { + "digits": 6, + "mode": "nearest_half_even" + }, + "expected_operational_factor": { + "numerator": 1032192, + "denominator": 1000000 + }, + "validity": { + "declared_on": "2026-11-01", + "valid_from": "2026-11-01", + "valid_until": "2027-06-30", + "as_of": "2026-11-01" + }, + "evidence": [ + "RSZ/ONSS annual wages key figures (Kerncijfers), ordinary remuneration, all employees, calendar years; pre-publication raw data, 2024-2025 not final", + "Diagnostic cross-check of the observed segment of FPB wage-driven ratio pairs; never a profile or money normalization input" + ], + "decision_references": [ + "BE-MC0 (proposed pending d1902): targets rolled to 2026 by FPB June 2026 ratio pairs", + "G8-r2 factor resolver: projected_period_average_ratio@1" + ] + }, + "operational_factor": { + "numerator": 1032192, + "denominator": 1000000 + }, + "receipt": { + "schema_version": 1, + "operation": "projected_period_average_ratio", + "operation_version": 1, + "factor_id": "rsz_ordinary_remuneration_cy2024_to_cy2025_observed", + "declaration_sha256": "d44873e9991fb138a9a8d2d734c6fc001c73d17fdb85752dfd0443b7b474e6d5", + "feed_identity": { + "source_commit": "2c7e8357f1dcb9af2337c10d6cf4cbd82b1e55ef", + "facts_sha256": "e01a463065a81ba60139a24a605e52797442504478be60970e0ff66f9d3c6b95", + "manifest_sha256": "7839792643a6a32a1784328644df16c250e8d4ba08287c455983a6e7ceebb34c", + "artifact_schema_version": "policyengine_ledger.consumer_artifact.v2", + "consumer_fact_schema_versions": [ + "chronicle.consumer_fact.v4" + ], + "consumer_fact_schema_sha256": "d953306d6f01fbc64db4372d0262d3012ee590269f8a25b276b18dca0626c6a0", + "fact_row_count": 87112 + }, + "source_period": 2024, + "target_period": 2025, + "source_schedule": [ + { + "selector": { + "source_name": "rsz_annual_wages_key_figures", + "source_measure_id": "ordinary_remuneration", + "source_concept": "rsz.annual_wages.ordinary_remuneration", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "rsz.annual_wages.year2024.ordinary_remuneration", + "dimensions": [ + "rsz.annual_worker_type_sex" + ], + "dimension_values": { + "rsz.annual_worker_type_sex": "total" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:fff2864b2ff60754bce8bfcf", + "assertion": "observation" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:fff2864b2ff60754bce8bfcf", + "decimal_operand": "165739460", + "numeric_token_proof": { + "numeric_representation": "exact_integer", + "lexical_token": "165739460", + "recovered_decimal": "165739460", + "decimal_values_equal": true + }, + "validation": { + "unit": "EUR_thousands", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_vintage": "rsz_raw_wages_prepublication_2026_10_22", + "entity_role": "employee", + "provenance_class": "administrative", + "assertion": "observation", + "period_coverage": { + "start_date": "2024-01-01", + "end_date": "2024-12-31" + }, + "source_column_id": "ordinary_remuneration" + }, + "period": { + "type": "calendar_year", + "value": 2024 + }, + "source": { + "extracted_at": "2026-10-24", + "extraction_method": "CellSelectorSpec and SourceRecordSpec resolved from cells", + "method_notes": "Each fact carries source_record_id, source_cell_keys, and source_row_keys when available.", + "raw_r2_bucket": "ledger-raw", + "raw_r2_key": "raw/belgium/rsz-annual-wages-key-figures-2020-2025/2025/7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97/annual_wages_key_figures_2020_2025.csv", + "raw_r2_uri": "r2://ledger-raw/raw/belgium/rsz-annual-wages-key-figures-2020-2025/2025/7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97/annual_wages_key_figures_2020_2025.csv", + "source_file": "annual_wages_key_figures_2020_2025.csv", + "source_name": "rsz_annual_wages_key_figures", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_size_bytes": 68891, + "source_table": "Lonen en bezoldigde prestaties, Kerncijfers-Chiffres Clés, 2020–2025", + "url": "https://www.rsz.be/file/6103c41969844d308979992d7f84d51e59927e1e/c4c5776181e3dd24273ecb6b9486065cb468fadb/ruwedata-donneesbrutes-periods-wages.xlsx", + "vintage": "rsz_raw_wages_prepublication_2026_10_22" + }, + "unit": "EUR_thousands", + "assertion": "observation", + "provenance_class": "administrative", + "entity_role": "employee", + "period_coverage": { + "basis": "calendar", + "end_date": "2024-12-31", + "notes": "Calendar-year remuneration or paid days/hours; pre-publication raw data, landing page updated 22/10/2026. The 2024–2025 figures are not described as final. RSZ-registered employment in Belgium; includes inbound cross-border workers, excludes posted workers and self-employed people. Administrative employment population differs from Statbel fiscal declarations.", + "source_period_label": "2024", + "start_date": "2024-01-01" + }, + "weight": "1", + "sequence": 0 + } + ], + "target_schedule": [ + { + "selector": { + "source_name": "rsz_annual_wages_key_figures", + "source_measure_id": "ordinary_remuneration", + "source_concept": "rsz.annual_wages.ordinary_remuneration", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "rsz.annual_wages.year2025.ordinary_remuneration", + "dimensions": [ + "rsz.annual_worker_type_sex" + ], + "dimension_values": { + "rsz.annual_worker_type_sex": "total" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c1a0cfec5e2740c02758f98", + "assertion": "observation" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c1a0cfec5e2740c02758f98", + "decimal_operand": "171074878.6", + "numeric_token_proof": { + "numeric_representation": "binary_float_with_lexical_token", + "lexical_token": "171074878.6", + "recovered_decimal": "171074878.6", + "decimal_values_equal": true + }, + "validation": { + "unit": "EUR_thousands", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_vintage": "rsz_raw_wages_prepublication_2026_10_22", + "entity_role": "employee", + "provenance_class": "administrative", + "assertion": "observation", + "period_coverage": { + "start_date": "2025-01-01", + "end_date": "2025-12-31" + }, + "source_column_id": "ordinary_remuneration" + }, + "period": { + "type": "calendar_year", + "value": 2025 + }, + "source": { + "extracted_at": "2026-10-24", + "extraction_method": "CellSelectorSpec and SourceRecordSpec resolved from cells", + "method_notes": "Each fact carries source_record_id, source_cell_keys, and source_row_keys when available.", + "raw_r2_bucket": "ledger-raw", + "raw_r2_key": "raw/belgium/rsz-annual-wages-key-figures-2020-2025/2025/7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97/annual_wages_key_figures_2020_2025.csv", + "raw_r2_uri": "r2://ledger-raw/raw/belgium/rsz-annual-wages-key-figures-2020-2025/2025/7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97/annual_wages_key_figures_2020_2025.csv", + "source_file": "annual_wages_key_figures_2020_2025.csv", + "source_name": "rsz_annual_wages_key_figures", + "source_sha256": "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97", + "source_size_bytes": 68891, + "source_table": "Lonen en bezoldigde prestaties, Kerncijfers-Chiffres Clés, 2020–2025", + "url": "https://www.rsz.be/file/6103c41969844d308979992d7f84d51e59927e1e/c4c5776181e3dd24273ecb6b9486065cb468fadb/ruwedata-donneesbrutes-periods-wages.xlsx", + "vintage": "rsz_raw_wages_prepublication_2026_10_22" + }, + "unit": "EUR_thousands", + "assertion": "observation", + "provenance_class": "administrative", + "entity_role": "employee", + "period_coverage": { + "basis": "calendar", + "end_date": "2025-12-31", + "notes": "Calendar-year remuneration or paid days/hours; pre-publication raw data, landing page updated 22/10/2026. The 2024–2025 figures are not described as final. RSZ-registered employment in Belgium; includes inbound cross-border workers, excludes posted workers and self-employed people. Administrative employment population differs from Statbel fiscal declarations.", + "source_period_label": "2025", + "start_date": "2025-01-01" + }, + "status": "observed", + "sequence": 0, + "weight": "1", + "projection_offset": 0 + } + ], + "subperiods_per_year": 1, + "projection_policy": "observed_preferred_latest_contiguous", + "denominator_mean": { + "numerator": 165739460, + "denominator": 1 + }, + "growth": null, + "root_bounds": { + "lower": { + "numerator": 1, + "denominator": 1 + }, + "upper": { + "numerator": 1, + "denominator": 1 + }, + "exact": true, + "decimal_places": 14, + "degree": 1, + "radicand": { + "numerator": 1, + "denominator": 1 + } + }, + "numerator_mean_bounds": { + "lower": { + "numerator": 855374393, + "denominator": 5 + }, + "upper": { + "numerator": 855374393, + "denominator": 5 + } + }, + "unrounded_factor_bounds": { + "lower": { + "numerator": 855374393, + "denominator": 828697300 + }, + "upper": { + "numerator": 855374393, + "denominator": 828697300 + } + }, + "rounding": { + "digits": 6, + "mode": "nearest_half_even" + }, + "operational_factor": { + "numerator": 1032192, + "denominator": 1000000 + }, + "validity": { + "declared_on": "2026-11-01", + "valid_from": "2026-11-01", + "valid_until": "2027-06-30", + "as_of": "2026-11-01" + }, + "evidence": [ + "RSZ/ONSS annual wages key figures (Kerncijfers), ordinary remuneration, all employees, calendar years; pre-publication raw data, 2024-2025 not final", + "Diagnostic cross-check of the observed segment of FPB wage-driven ratio pairs; never a profile or money normalization input" + ], + "decision_references": [ + "BE-MC0 (proposed pending d1902): targets rolled to 2026 by FPB June 2026 ratio pairs", + "G8-r2 factor resolver: projected_period_average_ratio@1" + ], + "receipt_sha256": "1fa388f0c5b6d3ad8e01f7a0c3355155e5aacc84b710ee4f49b137a2b98d2b9c" + } + } + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/be/reference_intervals.json b/packages/microcosm-build/src/microcosm/build/be/reference_intervals.json new file mode 100644 index 0000000000..bf5081a8b8 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/be/reference_intervals.json @@ -0,0 +1,92 @@ +{ + "schema_version": 1, + "country": "be", + "description": "Generated by tools/generate_be_target_references.py from the class bounds Chronicle publishes on Statbel A.1 (universe constraints), checked to tile A.1's positive range without gaps.", + "disclosure": "Statbel's labels ('Minder dan 1', '1-2', '100 en meer') do not state a closure; Chronicle's A.1 universe constraints do: 0 < t < 1,000, then lower <= t < upper, and t >= 100,000 for the open top class. The table follows them: left-closed positive bands, a nil band for t == 0 (Statbel counts zero-income declarations outside A.1, and no reference fits the nil band, because the proxy's zeros are not Statbel's zeros), negative proxy income floored to zero, integer cents. Cuts are income-year-2023 euros and are not aged: no shared operation scales them by a declared annual ratio pair, so the A.1 references stay parked (BE-MC5, d1952; proposed pending d1902).", + "tables": [ + { + "id": "statbel_a1_standin_bands_iy2023", + "entity": "tax_unit", + "currency": "EUR", + "input_unit": "integer_cent", + "income_column": "statbel_net_taxable_income_proxy_v1_cents", + "universe_column": "statbel_net_taxable_income_proxy_v1_universe_status", + "source_period": 2023, + "target_period": 2026, + "positive_band_closure": "left", + "nil_band": "present", + "negative_income_policy": "floor_zero", + "first_lower_cut_cents": 0, + "source_locator": "Chronicle statbel.fiscal_income_distribution.a1.by_income_class_eur1000.v1, Belgium, taxable income classes", + "description": "The eight d1952 stand-in bands of total net taxable income, income year 2023, each an exact sum of A.1 EUR 1,000 classes.", + "diagnostics": { + "boundary_window_cents": 100, + "alternative_positive_band_closure": "right" + }, + "bands": [ + { + "id": "nil", + "kind": "nil", + "indicator": "statbel_a1_standin_nil_indicator", + "source_label": "zero total net taxable income (outside A.1)" + }, + { + "id": "under_10k", + "kind": "positive", + "upper_cent": 1000000, + "indicator": "statbel_a1_standin_band_under_10k_indicator", + "source_label": "A.1 classes class_under_1 to class_9_10" + }, + { + "id": "10k_20k", + "kind": "positive", + "upper_cent": 2000000, + "indicator": "statbel_a1_standin_band_10k_20k_indicator", + "source_label": "A.1 classes class_10_11 to class_19_20" + }, + { + "id": "20k_30k", + "kind": "positive", + "upper_cent": 3000000, + "indicator": "statbel_a1_standin_band_20k_30k_indicator", + "source_label": "A.1 classes class_20_21 to class_29_30" + }, + { + "id": "30k_40k", + "kind": "positive", + "upper_cent": 4000000, + "indicator": "statbel_a1_standin_band_30k_40k_indicator", + "source_label": "A.1 classes class_30_31 to class_39_40" + }, + { + "id": "40k_50k", + "kind": "positive", + "upper_cent": 5000000, + "indicator": "statbel_a1_standin_band_40k_50k_indicator", + "source_label": "A.1 classes class_40_41 to class_49_50" + }, + { + "id": "50k_75k", + "kind": "positive", + "upper_cent": 7500000, + "indicator": "statbel_a1_standin_band_50k_75k_indicator", + "source_label": "A.1 classes class_50_51 to class_74_75" + }, + { + "id": "75k_100k", + "kind": "positive", + "upper_cent": 10000000, + "indicator": "statbel_a1_standin_band_75k_100k_indicator", + "source_label": "A.1 classes class_75_76 to class_99_100" + }, + { + "id": "100k_plus", + "kind": "positive", + "upper_cent": null, + "indicator": "statbel_a1_standin_band_100k_plus_indicator", + "source_label": "A.1 classes class_100_plus to class_100_plus" + } + ] + } + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/be/reference_inventory.json b/packages/microcosm-build/src/microcosm/build/be/reference_inventory.json new file mode 100644 index 0000000000..52b6fe3a97 --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/be/reference_inventory.json @@ -0,0 +1,13120 @@ +{ + "schema_version": 1, + "country": "be", + "generated_by": "tools/generate_be_target_references.py", + "feed_identity": { + "version": 1, + "country": "be", + "scope": "be_calibration", + "source_repo": "PolicyEngine/chronicle", + "source_commit": "2c7e8357f1dcb9af2337c10d6cf4cbd82b1e55ef", + "build": "build-bundle --suite be -> 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": 87112, + "facts_sha256": "e01a463065a81ba60139a24a605e52797442504478be60970e0ff66f9d3c6b95", + "manifest_sha256": "7839792643a6a32a1784328644df16c250e8d4ba08287c455983a6e7ceebb34c" + }, + "policy_year": 2026, + "method_card_status": "BE-MC0, BE-MC3 to BE-MC6 proposed pending d1902; nothing publishes a number", + "reference_counts": { + "target_references.json": { + "total": 60, + "by_family": { + "demography": 18, + "fiscal_income": 18, + "income_tax": 19, + "social_security": 1, + "caseloads": 1, + "benefit_expenditure": 2, + "self_employment": 1 + }, + "by_contract": { + "statbel_population_by_region_sex_age": 18, + "statbel_a1_standin_declarations_by_band": 8, + "statbel_a1_standin_taxable_income_by_band": 8, + "statbel_b4_declarations_by_type": 2, + "statbel_b1_enrolled_tax_by_rank_group": 19, + "onss_worker_personal_contributions": 1, + "onem_complete_unemployment_recipients": 1, + "fpb_unemployment_benefit_expenditure": 1, + "fpb_grapa_expenditure": 1, + "fpb_net_mixed_income": 1 + }, + "by_activation_status": { + "active": 18, + "requires_prerequisites": 16, + "requires_declared_tax_units": 2, + "inactive_pending_b1_checks": 19, + "requires_rules_binding": 1, + "requires_ageing_ruling_and_receipt_binding": 1, + "requires_receipt_contract_and_rules_binding": 1, + "requires_pension_route_d1902": 1, + "requires_currency_bridge_b4": 1 + } + }, + "precal_references.json": { + "total": 565, + "by_family": { + "geography_support": 565 + }, + "by_contract": { + "statbel_population_by_commune": 565 + }, + "by_activation_status": { + "active": 565 + } + }, + "holdout_references.json": { + "total": 7, + "by_family": { + "income_tax": 1, + "national_accounts": 1, + "household_accounts": 5 + }, + "by_contract": { + "eurostat_d51a_c1_individual_income_tax": 1, + "nbb_household_gross_disposable_income": 1, + "eurostat_household_gross_disposable_income": 1, + "eurostat_household_social_benefits_received": 1, + "eurostat_household_social_contributions_paid": 1, + "eurostat_household_current_taxes_paid": 1, + "fpb_gross_wages_and_salaries": 1 + }, + "by_activation_status": { + "requires_holdout_measure": 7 + } + } + }, + "regions": [ + "BE1", + "BE2", + "BE3" + ], + "age_bands": [ + "0_17", + "18_64", + "65_plus" + ], + "standin_bands": [ + { + "id": "under_10k", + "lower_eur_iy2023": 0, + "upper_eur_iy2023": 10000, + "a1_classes": [ + "class_under_1", + "class_1_2", + "class_2_3", + "class_3_4", + "class_4_5", + "class_5_6", + "class_6_7", + "class_7_8", + "class_8_9", + "class_9_10" + ] + }, + { + "id": "10k_20k", + "lower_eur_iy2023": 10000, + "upper_eur_iy2023": 20000, + "a1_classes": [ + "class_10_11", + "class_11_12", + "class_12_13", + "class_13_14", + "class_14_15", + "class_15_16", + "class_16_17", + "class_17_18", + "class_18_19", + "class_19_20" + ] + }, + { + "id": "20k_30k", + "lower_eur_iy2023": 20000, + "upper_eur_iy2023": 30000, + "a1_classes": [ + "class_20_21", + "class_21_22", + "class_22_23", + "class_23_24", + "class_24_25", + "class_25_26", + "class_26_27", + "class_27_28", + "class_28_29", + "class_29_30" + ] + }, + { + "id": "30k_40k", + "lower_eur_iy2023": 30000, + "upper_eur_iy2023": 40000, + "a1_classes": [ + "class_30_31", + "class_31_32", + "class_32_33", + "class_33_34", + "class_34_35", + "class_35_36", + "class_36_37", + "class_37_38", + "class_38_39", + "class_39_40" + ] + }, + { + "id": "40k_50k", + "lower_eur_iy2023": 40000, + "upper_eur_iy2023": 50000, + "a1_classes": [ + "class_40_41", + "class_41_42", + "class_42_43", + "class_43_44", + "class_44_45", + "class_45_46", + "class_46_47", + "class_47_48", + "class_48_49", + "class_49_50" + ] + }, + { + "id": "50k_75k", + "lower_eur_iy2023": 50000, + "upper_eur_iy2023": 75000, + "a1_classes": [ + "class_50_51", + "class_51_52", + "class_52_53", + "class_53_54", + "class_54_55", + "class_55_56", + "class_56_57", + "class_57_58", + "class_58_59", + "class_59_60", + "class_60_61", + "class_61_62", + "class_62_63", + "class_63_64", + "class_64_65", + "class_65_66", + "class_66_67", + "class_67_68", + "class_68_69", + "class_69_70", + "class_70_71", + "class_71_72", + "class_72_73", + "class_73_74", + "class_74_75" + ] + }, + { + "id": "75k_100k", + "lower_eur_iy2023": 75000, + "upper_eur_iy2023": 100000, + "a1_classes": [ + "class_75_76", + "class_76_77", + "class_77_78", + "class_78_79", + "class_79_80", + "class_80_81", + "class_81_82", + "class_82_83", + "class_83_84", + "class_84_85", + "class_85_86", + "class_86_87", + "class_87_88", + "class_88_89", + "class_89_90", + "class_90_91", + "class_91_92", + "class_92_93", + "class_93_94", + "class_94_95", + "class_95_96", + "class_96_97", + "class_97_98", + "class_98_99", + "class_99_100" + ] + }, + { + "id": "100k_plus", + "lower_eur_iy2023": 100000, + "upper_eur_iy2023": null, + "a1_classes": [ + "class_100_plus" + ] + } + ], + "standin_band_reason": "Fixed before any candidate (d1952): EUR 10,000 steps over the dense middle, wider steps above EUR 50,000, A.1's open top class whole; every edge is an A.1 class edge; eight bands, sixteen constraints.", + "standin_gaps": { + "measure": "statbel_net_taxable_income_proxy_v1", + "unit": "tax declaration (S2-d tax_unit); joint declarations count once", + "in_measure": "net professional income, rule-computed from transported gross amounts", + "published_gaps": "Components of Statbel's total net taxable income left out of the stand-in, as shares of it (method card BE-MC5; d1952). Within bands they can be larger than nationally.", + "national": { + "band": "all", + "declarations_iy2023": 6846186.0, + "taxable_income_eur_iy2023": 274707991587.37, + "component_shares_of_taxable_income": { + "professional_income": 0.9804992672847079, + "immovable_property_income": 0.014947349534038036, + "capital_and_movable_property_income": 0.005510746189298706, + "miscellaneous_income": 0.001157214923974624, + "deductible_expenditures": 0.0021145779320557163 + }, + "omitted_share_gross": 0.023729888579367083, + "omitted_share_net": 0.01950073271529207, + "identity_residual_eur": -0.01 + }, + "bands": [ + { + "band": "under_10k", + "declarations_iy2023": 937036.0, + "taxable_income_eur_iy2023": 3070063069.25, + "component_shares_of_taxable_income": { + "professional_income": 0.9595986159951101, + "immovable_property_income": 0.02519848271029131, + "capital_and_movable_property_income": 0.0033038102837665345, + "miscellaneous_income": 0.0159551657197604, + "deductible_expenditures": 0.004056074708928392 + }, + "omitted_share_gross": 0.04851353342274664, + "omitted_share_net": 0.040401384004889906, + "identity_residual_eur": 0.0 + }, + { + "band": "10k_20k", + "declarations_iy2023": 838884.0, + "taxable_income_eur_iy2023": 13708204696.7, + "component_shares_of_taxable_income": { + "professional_income": 0.9912500478513517, + "immovable_property_income": 0.009116430572420925, + "capital_and_movable_property_income": 0.0017326149270091968, + "miscellaneous_income": 0.0025143532623420313, + "deductible_expenditures": 0.004613446613123918 + }, + "omitted_share_gross": 0.01797684537489607, + "omitted_share_net": 0.008749952148648266, + "identity_residual_eur": 0.0 + }, + { + "band": "20k_30k", + "declarations_iy2023": 1634125.0, + "taxable_income_eur_iy2023": 40205856133.07, + "component_shares_of_taxable_income": { + "professional_income": 0.9913302376500499, + "immovable_property_income": 0.009227389444764247, + "capital_and_movable_property_income": 0.0012725470541072963, + "miscellaneous_income": 0.0008747289975271217, + "deductible_expenditures": 0.0027049031464485805 + }, + "omitted_share_gross": 0.014079568642847245, + "omitted_share_net": 0.008669762349950094, + "identity_residual_eur": 0.0 + }, + { + "band": "30k_40k", + "declarations_iy2023": 1013263.0, + "taxable_income_eur_iy2023": 35099727677.01, + "component_shares_of_taxable_income": { + "professional_income": 0.9857787374909764, + "immovable_property_income": 0.014128450381534244, + "capital_and_movable_property_income": 0.00203641256558287, + "miscellaneous_income": 0.0006833036894388543, + "deductible_expenditures": 0.0026269041275323777 + }, + "omitted_share_gross": 0.019475070764088345, + "omitted_share_net": 0.014221262509023558, + "identity_residual_eur": 0.0 + }, + { + "band": "40k_50k", + "declarations_iy2023": 716476.0, + "taxable_income_eur_iy2023": 32003198754.01, + "component_shares_of_taxable_income": { + "professional_income": 0.9836367045086585, + "immovable_property_income": 0.015453225158564269, + "capital_and_movable_property_income": 0.002444170559363191, + "miscellaneous_income": 0.0005523766279077016, + "deductible_expenditures": 0.002086476854493591 + }, + "omitted_share_gross": 0.020536249200328753, + "omitted_share_net": 0.016363295491341523, + "identity_residual_eur": 0.0 + }, + { + "band": "50k_75k", + "declarations_iy2023": 912211.0, + "taxable_income_eur_iy2023": 55358056929.57, + "component_shares_of_taxable_income": { + "professional_income": 0.9811309438087946, + "immovable_property_income": 0.01695812417394564, + "capital_and_movable_property_income": 0.003268815827662136, + "miscellaneous_income": 0.0005495389648286252, + "deductible_expenditures": 0.0019074227752310705 + }, + "omitted_share_gross": 0.022683901741667473, + "omitted_share_net": 0.01886905619120538, + "identity_residual_eur": 0.0 + }, + { + "band": "75k_100k", + "declarations_iy2023": 415483.0, + "taxable_income_eur_iy2023": 35704329792.58, + "component_shares_of_taxable_income": { + "professional_income": 0.9803493917184294, + "immovable_property_income": 0.016331211054161212, + "capital_and_movable_property_income": 0.004244718629937589, + "miscellaneous_income": 0.0005653042156863159, + "deductible_expenditures": 0.0014906256182145292 + }, + "omitted_share_gross": 0.022631859517999647, + "omitted_share_net": 0.019650608281570614, + "identity_residual_eur": 0.0 + }, + { + "band": "100k_plus", + "declarations_iy2023": 378708.0, + "taxable_income_eur_iy2023": 59558554535.18, + "component_shares_of_taxable_income": { + "professional_income": 0.9664960867557434, + "immovable_property_income": 0.017134554592442407, + "capital_and_movable_property_income": 0.015893255069527844, + "miscellaneous_income": 0.0017967110868480146, + "deductible_expenditures": 0.0013206075045615997 + }, + "omitted_share_gross": 0.036145128253379864, + "omitted_share_net": 0.03350391324425661, + "identity_residual_eur": 0.0 + } + ], + "declarations_with_taxable_but_no_professional_income": 42007.0, + "zero_income_declarations_outside_a1": 523770.0, + "zero_handling": "The proxy's zeros (no professional income, or losses floored to zero) are not Statbel's zero-income declarations; the nil band is not fitted.", + "stress_test": "Declared, not executable in B3: rerun with unemployment and sickness benefits left out of the measure (d1952); a measurement variant owed by B4/W3.", + "pension_gap": "Legal pensions are part of net professional income but are not modelled until d1902 settles BE-MC3's pension route, so the proxy cannot yet represent pensioner declarations." + }, + "ageing_pairs": [ + { + "id": "fpb_t06_net_national_disposable_income", + "use": "holdout", + "fpb_row": "national_income_account.net_national_disposable_income", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.national_income_account.net_national_disposable_income.country.v1", + "source_row_id": "net_national_disposable_income", + "row_label": "4. Revenu national net disponible", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t06.published_cell", + "entity_name": "institutional_sector", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.national_income_account.net_national_disposable_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:63c570cc58902f2813b3bde9" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t06.published_cell", + "entity_name": "institutional_sector", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.national_income_account.net_national_disposable_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:5148b5898c391c11ff484930" + }, + "numerator": 534156000000.0, + "denominator": 500699000000.0, + "ratio": 1.0668205848224181, + "base_period": 2024, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "FPB publishes no household disposable income; national net disposable income is the nearest disposable-income row (a proxy).", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "eurostat_household_gross_disposable_income", + "nbb_household_gross_disposable_income" + ], + "observed_segment_to_2025": 1.036830510945698, + "projected_step_2025_to_2026": 1.0289247601802982 + }, + { + "id": "fpb_t07_total_population", + "use": "calibration", + "fpb_row": "labour_market.levels.total_population", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.labour_market.levels.total_population.country.v1", + "source_row_id": "total_population", + "row_label": "I. Population totale (II+III)", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + "numerator": 11896000.0, + "denominator": 11730600.0, + "ratio": 1.0140998755391881, + "base_period": 2023, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "Declaration counts follow resident population (August's alignment); A.1 band counts and B.4 type counts share this pair so the bands still sum to B.4's joint plus individual total.", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "statbel_a1_standin_declarations__100k_plus", + "statbel_a1_standin_declarations__10k_20k", + "statbel_a1_standin_declarations__20k_30k", + "statbel_a1_standin_declarations__30k_40k", + "statbel_a1_standin_declarations__40k_50k", + "statbel_a1_standin_declarations__50k_75k", + "statbel_a1_standin_declarations__75k_100k", + "statbel_a1_standin_declarations__under_10k", + "statbel_b4_declarations__individual", + "statbel_b4_declarations__joint" + ], + "observed_segment_to_2025": 1.0102126063457966, + "projected_step_2025_to_2026": 1.0038479713764936 + }, + { + "id": "fpb_t11_actual_social_contributions", + "use": "calibration", + "fpb_row": "household_account.actual_social_contributions", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.household_account.actual_social_contributions.country.v1", + "source_row_id": "actual_social_contributions", + "row_label": "Cotisations sociales effectives", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.actual_social_contributions", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a66b02d02ed92c58e542e7ed" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.household_account.actual_social_contributions", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3f953c8cbe00192899c93c3b" + }, + "numerator": 101300000000.0, + "denominator": 94613000000.0, + "ratio": 1.0706773910561973, + "base_period": 2024, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "Employee personal contributions follow FPB's actual social contributions; gross wages stay free for the wage-headline holdout.", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "onss_worker_personal_contributions" + ], + "observed_segment_to_2025": 1.0400473507868897, + "projected_step_2025_to_2026": 1.029450620922339 + }, + { + "id": "fpb_t11_current_taxes_on_income_and_wealth", + "use": "holdout", + "fpb_row": "household_account.current_taxes_on_income_and_wealth", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.household_account.current_taxes_on_income_and_wealth.country.v1", + "source_row_id": "current_taxes_on_income_and_wealth", + "row_label": "1. Impôts courants sur le revenu et le patrimoine", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.current_taxes_on_income_and_wealth", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:67bb0b178a502334a5798bfa" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.household_account.current_taxes_on_income_and_wealth", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3638106fd28d6f6d119c0d5" + }, + "numerator": 83113000000.0, + "denominator": 77033000000.0, + "ratio": 1.078927213012605, + "base_period": 2024, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "The household account row matching Eurostat D5 paid.", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "eurostat_household_current_taxes_paid" + ], + "observed_segment_to_2025": 1.0290784468993808, + "projected_step_2025_to_2026": 1.0484402003204119 + }, + { + "id": "fpb_t11_gross_wages_and_salaries", + "use": "holdout", + "fpb_row": "household_account.gross_wages_and_salaries", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.household_account.gross_wages_and_salaries.country.v1", + "source_row_id": "gross_wages_and_salaries", + "row_label": "Salaires et traitements bruts", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.gross_wages_and_salaries", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:f17958efe84e42471bf68f80" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.household_account.gross_wages_and_salaries", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:1b99b4161fa76ca1069ad5e7" + }, + "numerator": 247221000000.0, + "denominator": 240536000000.0, + "ratio": 1.0277920976485848, + "base_period": 2025, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "The card's wage-headline comparator (FPB salaires bruts), rolled by its own 2026/2025 step.", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "fpb_gross_wages_and_salaries" + ] + }, + { + "id": "fpb_t11_net_mixed_income", + "use": "calibration", + "fpb_row": "household_account.net_mixed_income", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.household_account.net_mixed_income.country.v1", + "source_row_id": "net_mixed_income", + "row_label": "2. Revenu mixte net", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.net_mixed_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:82a8d913db8aa3594a182492" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.household_account.net_mixed_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0db8ec51ab64a7f7519fc5d4" + }, + "numerator": 41044000000.0, + "denominator": 39834000000.0, + "ratio": 1.0303760606517045, + "base_period": 2025, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "The target's own series (BE-MC3 self-employment aggregate).", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "fpb_net_mixed_income" + ] + }, + { + "id": "fpb_t11_social_benefits", + "use": "holdout", + "fpb_row": "household_account.social_benefits", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.household_account.social_benefits.country.v1", + "source_row_id": "social_benefits", + "row_label": "5. Prestations sociales", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.social_benefits", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:bf52974b05acf19d1d3ccb28" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.household_account.social_benefits", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:e87808ae0b585214ec608b92" + }, + "numerator": 132674000000.0, + "denominator": 124608000000.0, + "ratio": 1.0647309964047251, + "base_period": 2024, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "The household account row matching Eurostat D62 received.", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "eurostat_household_social_benefits_received" + ], + "observed_segment_to_2025": 1.032509951206985, + "projected_step_2025_to_2026": 1.0312065226684493 + }, + { + "id": "fpb_t11_social_contributions", + "use": "holdout", + "fpb_row": "household_account.social_contributions", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.household_account.social_contributions.country.v1", + "source_row_id": "social_contributions", + "row_label": "2. Cotisations sociales, dont:", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.social_contributions", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:4c597d6ad755576b4e1faf01" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.household_account.social_contributions", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:deed6d1fc86e5e7032cbfa5e" + }, + "numerator": 120094000000.0, + "denominator": 112346000000.0, + "ratio": 1.0689655172413792, + "base_period": 2024, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "The household account row matching Eurostat D61 paid.", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "eurostat_household_social_contributions_paid" + ], + "observed_segment_to_2025": 1.0358980293023339, + "projected_step_2025_to_2026": 1.0319215666056591 + }, + { + "id": "fpb_t11_total_resources", + "use": "calibration", + "fpb_row": "household_account.total_resources", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.household_account.total_resources.country.v1", + "source_row_id": "total_resources", + "row_label": "a. Ressources", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + "numerator": 571010000000.0, + "denominator": 518286000000.0, + "ratio": 1.1017276175702218, + "base_period": 2023, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "Net professional income mixes wages, replacement incomes, pensions and profits; the household account's total resources is the one FPB row spanning them (August's resource alignment).", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "statbel_a1_standin_taxable_income__100k_plus", + "statbel_a1_standin_taxable_income__10k_20k", + "statbel_a1_standin_taxable_income__20k_30k", + "statbel_a1_standin_taxable_income__30k_40k", + "statbel_a1_standin_taxable_income__40k_50k", + "statbel_a1_standin_taxable_income__50k_75k", + "statbel_a1_standin_taxable_income__75k_100k", + "statbel_a1_standin_taxable_income__under_10k" + ], + "observed_segment_to_2025": 1.0691336443585202, + "projected_step_2025_to_2026": 1.0304863413322458 + }, + { + "id": "fpb_t17_direct_taxes_households", + "use": "holdout", + "fpb_row": "general_government_account.direct_taxes_households", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.general_government_account.direct_taxes_households.country.v1", + "source_row_id": "direct_taxes_households", + "row_label": "- Ménages", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t17.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.general_government_account.direct_taxes_households", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:09dcccdb13ecc60173a18079" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t17.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.general_government_account.direct_taxes_households", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:ebae7d68bab03979e30b2b5e" + }, + "numerator": 81561000000.0, + "denominator": 77771000000.0, + "ratio": 1.0487328181455813, + "base_period": 2025, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "Government direct taxes on households, the FPB counterpart of D51A_C1.", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "eurostat_d51a_c1_individual_income_tax" + ] + }, + { + "id": "fpb_t24_federal_cash_income_guarantee_for_older_people", + "use": "calibration", + "fpb_row": "social_benefits_detail.federal_government_cash_income_guarantee_for_older_people", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.social_benefits_detail.federal_government_cash_income_guarantee_for_older_people.country.v1", + "source_row_id": "federal_government_cash_income_guarantee_for_older_people", + "row_label": "4. Garantie de revenus aux personnes âgées", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.social_benefits_detail.federal_government_cash_income_guarantee_for_older_people", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:13ee4f4b5a469ddeb487eafc" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.social_benefits_detail.federal_government_cash_income_guarantee_for_older_people", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:776e68a9e93ca03151c53baf" + }, + "numerator": 1034000000.0, + "denominator": 1025000000.0, + "ratio": 1.008780487804878, + "base_period": 2025, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "The target's own series (GRAPA).", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "fpb_grapa_expenditure" + ] + }, + { + "id": "fpb_t24_social_security_cash_unemployment", + "use": "calibration", + "fpb_row": "social_benefits_detail.social_security_cash_unemployment", + "record_set_spec_id": "fpb.economic_outlook_2026_2031.social_benefits_detail.social_security_cash_unemployment.country.v1", + "source_row_id": "social_security_cash_unemployment", + "row_label": "a. Chômage", + "numerator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.social_benefits_detail.social_security_cash_unemployment", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:61a041fd9dff09745593e4da" + }, + "denominator_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.social_benefits_detail.social_security_cash_unemployment", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:45ad11668f4cf559bb3c388f" + }, + "numerator": 4255000000.0, + "denominator": 5602000000.0, + "ratio": 0.7595501606569083, + "base_period": 2025, + "target_period": 2026, + "numerator_assertion": "source_projection", + "denominator_assertion": "observation", + "reason": "The target's own series, FPB T24 line a., rolled by its 2026/2025 step. unemployment_series_choice in the inventory compares it with the larger line 4.", + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": [ + "fpb_unemployment_benefit_expenditure" + ] + } + ], + "rsz_wage_cross_checks": [ + { + "factor_id": "rsz_ordinary_remuneration_cy2023_to_cy2025_observed", + "rsz_observed_factor": 1.063921, + "fpb_gross_wages_observed_ratio": 1.0642338220849668, + "use": "diagnostic only" + }, + { + "factor_id": "rsz_ordinary_remuneration_cy2024_to_cy2025_observed", + "rsz_observed_factor": 1.032192, + "fpb_gross_wages_observed_ratio": 1.0319934442828398, + "use": "diagnostic only" + } + ], + "b4_identity": { + "joint": 2215303.0, + "individual": 4630883.0, + "a1_declarations": 6846186.0, + "closes_exactly": true, + "use": "A.1 band counts and B.4 type counts share fpb_t07_total_population, so the identity survives ageing." + }, + "destination_mass": { + "commune_sum_2025": 11825551.0, + "nuts1_sum_2025": 11825551.0, + "nuts1_sum_2026": 11867634.0, + "commune_minus_nuts1_2025": 0.0, + "create_mass_reference": "Not in B3. CREATE needs exactly one unfiltered national person count. The suite has no national Statbel population fact, and a national row composed from the 565 communes refuses: the shared composed-geography path labels only UK areas. W3 chooses between a shared Belgian geography label (NZ hub) and FPB's annual-average population." + }, + "b1_checks": { + "verdict": "B.1 stays inactive: no check passes completely from the documents.", + "asserted_evidence": { + "b1_total_matches_spf_total": true, + "b1_deciles_sum_to_total": true, + "top_percentiles_sum_to_decile_10": true, + "decile_bounds_strictly_increase": true, + "percentile_bounds_strictly_increase": true, + "decile_9_bound_below_percentile_91_bound": true, + "b1_and_a1_taxable_income_totals_match": true, + "chronicle_states_zero_income_exclusion": true + }, + "tax_definition": { + "evidence": { + "b1_total_enrolled_tax_eur": 62840116133.93, + "spf_finances_total_taxes_eur": 62840116133.99, + "difference_eur": -0.06, + "b1_deciles_sum_minus_total_eur": 0.0, + "top_percentiles_sum_minus_decile_10_eur": 0.0, + "negative_deciles": [ + "decile_01", + "decile_02" + ] + }, + "passed": [ + "B.1's total enrolled tax equals the total taxes in Chronicle's spf-finances-pit-2023 package to EUR 0.06. That fact carries Statbel's concept and evidence URL, so the match reads one administrative total twice and corroborates nothing independently.", + "B.1's deciles sum to its total, and percentiles 91-100 sum to decile 10, within EUR 0.10." + ], + "missing": [ + "rulespec-be's candidate output belgium_pit_federal_and_local_tax_before_withholding (final_tax.yaml at 530849e) adds article 134 federal tax and the articles 465-466 local additions but not regional_surcharge.yaml's regional additional tax. No document in the suite says whether Statbel's total taxes include the regional additional tax.", + "B.1 counts declarations (joint = one); every rulespec-be PIT output is per Person, and the couple pipeline needs relation bindings (S2-d) that are not built.", + "That output is also the D51A_C1 holdout's measure: a B.1 producer must be a separately bound declaration-level measure, because S5 refuses a pre-calibration stage whose module produces a holdout measure." + ], + "result": "fail" + }, + "income_ranking": { + "evidence": { + "decile_upper_bounds_strictly_increase": true, + "percentile_upper_bounds_strictly_increase": true, + "decile_9_bound_below_percentile_91_bound": true, + "b1_minus_a1_total_taxable_income_eur": 0.02, + "decile_taxable_income_shares_sum": 1.0, + "chronicle_concept_note": "B.1 excludes declarations with zero total net taxable income; Statbel reports those declarations separately in A.1 Home. B.1 total enrolled tax; low-decile cells are negative because of refundable credits." + }, + "passed": [ + "Chronicle's B.1 facts state that B.1 excludes zero-income declarations, as A.1 does; B.1's and A.1's taxable-income totals agree to EUR 0.02, and the published bounds increase." + ], + "missing": [ + "The stand-in ranks declarations by net professional income only; 42,007 declarations with taxable but no professional income, and every pensioner while pensions are unmodelled (d1902), would rank differently from Statbel's total net taxable income.", + "B.1 publishes no declaration counts by decile; classifying model declarations needs either model-side ranking or the published bounds, and the bounds are income-year-2023 euros that need the same unavailable cut ageing as A.1." + ], + "result": "fail" + }, + "policy_year": { + "evidence": { + "b1_legal_vintage": "income_year_2023_assessment_year_2024", + "model_policy_year": 2026, + "rulespec_be_final_tax_effective_from": "2025-01-01", + "negative_deciles": [ + "decile_01", + "decile_02" + ] + }, + "passed": [], + "missing": [ + "B.1 is assessed under income-year-2023 law; the model applies 2026 law (BE-MC0). rulespec-be defines its PIT outputs from 2025-01-01 (its article 134 module states income year 2025 parameters), so B.1's own year cannot be reproduced, and no document bridges 2023 to 2026 tax law: ageing a 2023 tax mass by an FPB ratio would mix growth with law changes.", + "Deciles 1 and 2 are negative (refundable credits) and rolled_forward_by_ratio refuses a negative base, so the declared ageing route cannot carry them to 2026." + ], + "result": "fail" + } + }, + "unemployment_series_choice": { + "lines_2025": { + "chosen": { + "row": "social_security_cash_unemployment", + "label": "a. Chômage", + "eur": 5602000000.0 + }, + "alternative": { + "row": "social_security_cash_unemployment_total", + "label": "4. Chômage", + "eur": 6510000000.0 + }, + "company_supplement": { + "row": "social_security_cash_unemployment_with_company_supplement", + "label": "c. Allocations de chômage avec complément d'entreprise", + "eur": 167000000.0 + }, + "career_breaks": { + "row": "social_security_cash_career_breaks_and_time_credit", + "label": "d. Interruptions de carrière et crédit-temps", + "eur": 740000000.0 + } + }, + "choice": "The target takes line a. Line 4 also holds benefits with a company supplement and career breaks and time credit, about 14% of the level. This row choice is proposed with d1902.", + "open_question": "No document in the suite says whether line a. includes temporary unemployment, which the ordinary-benefit output does not compute." + }, + "geography_vintage_bindings": [ + { + "layer": "nuts1", + "chronicle_vintage": "NUTS_2024", + "typed_authority": "vintage:be_nuts1_2025", + "relation": "crosswalk", + "basis": "Chronicle labels Statbel's regions NUTS_2024. The typed nuts1 layer records no code list, so the mapping rests on destination_mass: the three regions' 2025 population equals the 565 communes' sum. A package test holds every nuts1 row to this binding. This choice is proposed with d1902." + }, + { + "layer": "commune", + "chronicle_vintage": "nis_2025", + "typed_authority": "vintage:be_nis_2025", + "relation": "exact_alias", + "basis": "nis_2025 is an exact typed alias of vintage:be_nis_2025." + } + ], + "holdout_information_overlaps": [ + "The tests check separation at the fact and measure level; holdouts still share information with calibration through economics, not facts:", + "FPB gross wages (wage-headline holdout): ONSS's calibrated worker contributions scale with wages.", + "Eurostat D62 social benefits received contain the calibrated unemployment and GRAPA aggregates.", + "Eurostat D61 social contributions paid contain the calibrated ONSS worker contributions.", + "Eurostat D51A_C1 and D5 measure the same personal income tax that B.1 would calibrate once active.", + "The A.1 stand-in is 98% net professional income, and its amount pair, FPB T11 total resources, contains gross wages, the wage holdout's own series." + ], + "grammar_gaps": [ + "A national row composed from commune facts refuses for Belgium: the composed-geography path labels only UK areas (ledger_targets._geography_fallback_label), so CREATE's single national mass reference cannot be the commune sum.", + "A schema-2 target_profile requires period_match_policy 'exact', which refuses rolled_forward_by_ratio; the documents keep B1's schema-2 hierarchy catalogs with a schema-1 target_profile (NZ's documents use the same schema-1 profile, with inline hierarchies).", + "No shared operation ages interval cuts by a declared annual ratio pair: scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's projected_period_average_ratio cannot project an annual series past its last observation.", + "G8-r2's resolver needs dated period_coverage on every operand; Chronicle's FPB, Statbel NUTS1, NBB, ONSS, ONEM and most Eurostat facts carry none.", + "rolled_forward_by_ratio refuses a negative base, so signed targets (B.1 low deciles) cannot be aged by it.", + "rolled_forward_by_ratio's series key treats every FPB annex row of one table as one series (same concept, entity, geography and empty dimensions); the generator and tests enforce row identity themselves.", + "The typed vintage alias set admits only a layer's full id, its country-shortened id and its authority value, so Chronicle's NUTS_2024 label cannot be an alias of vintage:be_nuts1_2025; geography_vintage_bindings carries the mapping instead.", + "The schema-1 target_profile drops B1's required_families, basis_periods, tolerance tiers and subnational vintage rule. Package tests restore required families, the vintage rule and each row's periods. Caseload tolerance moves from B1's 15% to BE-MC6's 5%, and the ONSS contribution row moves from B1's standard_admin_release 10% to 5%." + ], + "exclusions": [ + { + "id": "jrc_euromod_be_statistics", + "reason": "jrc-euromod-be-baseline-statistics-2025 is outside the Chronicle be suite while d1822 (move it to the scorecard, its only consumer) is open; no reference selects JRC. August took two calibration rows from it: the unemployment recipient count, now read from ONEM/RVA's own 2024 count (a different concept, parked), and the RIS amount and recipient count, for which the suite holds no source, so no RIS reference exists." + }, + { + "id": "ris_amount_and_recipients", + "reason": "August's RIS amount and count came from JRC; the suite holds no RIS administrative source, so the gap is named, not filled." + }, + { + "id": "legal_pensions", + "reason": "FPB pension amounts and SFPD beneficiary counts and bands: legal pensions are not modelled until d1902 settles BE-MC3's pension route; the SFPD bands are B4's quantile-map surface." + }, + { + "id": "family_allowances", + "reason": "FPB family allowances and Opgroeien/Ostbelgien caseloads: child benefits are reported as not modelled at level until indexed amounts are encoded (BE-MC0)." + }, + { + "id": "rsz_wage_classes", + "reason": "RSZ daily-wage classes (B2f) are B4's wage quantile-map input under d1902, not a reference." + }, + { + "id": "usd_eur_rate", + "reason": "Eurostat ert_bil_eur_a is B4's currency-bridge input (BE-MC3), not a reference." + }, + { + "id": "regional_a1_and_b1", + "reason": "National bands only: the short list d1952 asks for; v0.5.1's 606 regional A.1 rows failed to fit." + }, + { + "id": "a1_component_tables", + "reason": "Professional, property, movable, miscellaneous and deduction tables are gap diagnostics in this inventory, not fitted rows." + }, + { + "id": "a1_and_b1_totals", + "reason": "Published totals duplicate the band and decile partitions; B.1's taxable-income masses duplicate A.1." + }, + { + "id": "zero_income_declarations", + "reason": "Statbel's 523,770 zero-income declarations are a diagnostic; the proxy's zeros differ, so the nil band is not fitted." + }, + { + "id": "b3_b5_tables", + "reason": "B.3 professional-category and B.5 dependant tables are outside the card's targets; v0.5.1's wage-only B.3 proxy destroyed weights." + }, + { + "id": "b4_age_and_decile_cells", + "reason": "Only the all-age joint and individual totals are targets (BE-MC4); age and decile cells would multiply weak cells." + }, + { + "id": "statbel_commune_fiscal_income", + "reason": "Commune fiscal income is a diagnostic surface for a later commune spine gate, not a B3 reference." + }, + { + "id": "spf_finances_pit_total", + "reason": "SPF Finances' total taxes equal B.1's total: one administrative total, read twice. The tax-definition check records it, and no row targets it." + }, + { + "id": "spf_municipal_surcharge_rates", + "reason": "Communal surcharge rates are W3 rule inputs, not references." + }, + { + "id": "statbel_population_2025_nuts1", + "reason": "Statbel's 1 January 2026 cells are the target-year observation; the 2025 cells would duplicate them." + }, + { + "id": "movable_income", + "reason": "Movable income stays out of the stand-in (art. 313 CIR 92 withholding dispensation) and out of the targets until the investment-income match check (d1952 build item 5)." + }, + { + "id": "eurostat_d11_wages", + "reason": "Eurostat D11 duplicates FPB's gross wages, the card's wage-headline comparator." + }, + { + "id": "eurostat_b3g_mixed_income", + "reason": "Mixed income is a calibration aggregate (FPB net mixed income), so it cannot also be held out." + }, + { + "id": "eurostat_survey_and_social_protection", + "reason": "Eurostat ilc_* survey aggregates and spr_exp_func expenditure are excluded: surveys are validation-only and outside the card's holdouts, and ESSPROS overlaps FPB's T24 rows." + }, + { + "id": "fpb_projections_as_direct_targets", + "reason": "No reference takes an FPB projection as its base: every base is an observation. Seven rolled rows still equal FPB's 2026 projection, because each base equals its pair's denominator: unemployment benefits, GRAPA and net mixed income in calibration, and gross wages and the Eurostat D61, D62 and D5 rows in the holdouts. Those rows say so in ageing_target_equals." + }, + { + "id": "german_and_french_rows", + "reason": "Four Eurostat members carry DE and FR rows (72 of 87,112); the generator refuses any non-Belgian fact before it can name one." + } + ], + "resolved_reads": [ + { + "name": "statbel_population_by_region_sex_age__be1__male__a0_17", + "reference_set": "calibration", + "selector_sha256": "821261226de6a3ea0e29197fc92d0a1adb096aab81c573c0778f848074863c8a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:120cd8981baad80a656e1b30" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:58eb938e425bd99d7c6de069" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be1__male__a18_64", + "reference_set": "calibration", + "selector_sha256": "c2d13444ec440426124fe6e5955f8f469b078ac9db0022fd793969672fdb8dce", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4f3a6c98b66da2c0df41224b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:522b27c275adbd0795fad4f8" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be1__male__a65_plus", + "reference_set": "calibration", + "selector_sha256": "a521119d0864fbef6b8a9bb5102cf7a6de54f9085c8f2d818f5c406acbf16bf9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:04cad2d2d74601f480a04878" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a5f6dc0e1ef2db8c4fb786c0" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be1__female__a0_17", + "reference_set": "calibration", + "selector_sha256": "1008d50263a4df2fc1a881b222f45e111198aa69125ab0f0a325e7948f1c23af", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5bd4d90dbf75fa183b749e89" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:489d724c91e7d1b3d0d0a4a9" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be1__female__a18_64", + "reference_set": "calibration", + "selector_sha256": "47529acc15ed6fd2c249499ebf7a998f8b44d8fb107a8e1a1a60b5bd9860d85c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:31103ab0dcc5bb5bd663c6a3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:548a9b12b930b077f27b4728" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be1__female__a65_plus", + "reference_set": "calibration", + "selector_sha256": "f5e6151217a96b5d7c6f727da82894a4d1b5ce1d7a745291f4a7add8f715c423", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:633f2cac5dcab7a455322cf0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2c50c592943200715215b028" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be2__male__a0_17", + "reference_set": "calibration", + "selector_sha256": "078ca4839f8c3c21ca389c8660346c4a89b0165917869b6cbb8afbba8666109e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b73dde1c55bf24c4e9826526" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1ec0f01c890b7903fdf733e8" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be2__male__a18_64", + "reference_set": "calibration", + "selector_sha256": "cc96c6f44a1225206a02b0841e90244046cbc2c8df7742630863da9999d157a6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fac6476a0da56862ec9d981e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:406bc93f1eabb4e212279127" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be2__male__a65_plus", + "reference_set": "calibration", + "selector_sha256": "67c906072bf0215c049414c7d1b265115d9031026d2ef3fff4e815c7386e2c40", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b1fb01f519506661f18756a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a88a573adb6ef32cbed397bd" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be2__female__a0_17", + "reference_set": "calibration", + "selector_sha256": "4b52f953e6a0ddc282ce3bfacf38b94fecf714cb0336cc27307b1f6fd0d48920", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5a8aaa9d9b3acbd074350860" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c602927f3d3cd12127725e72" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be2__female__a18_64", + "reference_set": "calibration", + "selector_sha256": "d60fd9fa55d85af2e700059754d092bc03cb6b56cf040c45338a3b231182e7da", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9bd542188b4920c4fc2fc000" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:124767e994213f0bee0fd858" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be2__female__a65_plus", + "reference_set": "calibration", + "selector_sha256": "4250594e98142406a9df9585370ebc06fc411e241f83866178518577242ad94b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:01f7112f0ac2cc62931fb498" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:983663dd0550c1cc5ede939e" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be3__male__a0_17", + "reference_set": "calibration", + "selector_sha256": "31a1c0f9a4c9fd4302d8b822980ba2dd2f8cca222308844faece45acc870254c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e7d1c04c5969b6ef0f54a195" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:850b2c53fed70ac89e0cabb6" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be3__male__a18_64", + "reference_set": "calibration", + "selector_sha256": "0e924a109b30c861486fb1dd03af61f5785f55a28d65123c8546ac1bd271bf16", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b490791a47549aceb713316" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7f1e964ea5df462b82d90454" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be3__male__a65_plus", + "reference_set": "calibration", + "selector_sha256": "246cd62ddb7d8417382b6a8ddc5da2f3781066a97b8470ba6e01c02e9097eade", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ad6a44e0f4906dea7225e982" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:10cdd6c20c7eafd3c5d77641" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be3__female__a0_17", + "reference_set": "calibration", + "selector_sha256": "40b2eb29af55cd14d09687692a1797408a5c6a300516c6b2489cc5673ca7881b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8dd7262af62fcdd238a028ba" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:53da67f407126167092a5114" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be3__female__a18_64", + "reference_set": "calibration", + "selector_sha256": "f5dd93339e6092a305c69770d73f34ae96e21a30831cb4371e7840346427630c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:53e961ba941bbbac70214d47" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dc3778088005ef88883cf0c0" + } + ] + }, + { + "name": "statbel_population_by_region_sex_age__be3__female__a65_plus", + "reference_set": "calibration", + "selector_sha256": "67f5e6f761452ffb804ab0dd2395100b1599cbc23b652081bb7b16ad9563ebc7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:000c18596fb1e051cddc4fe4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:45232b738d20d9309ab98172" + } + ] + }, + { + "name": "statbel_a1_standin_declarations__under_10k", + "reference_set": "calibration", + "selector_sha256": "841fddbf568f9098d11444c876edf7128500d1d9c942c34f683da72a5740cd8a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:114f42a3ac944b9344a21870" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1770c0ba71a6574d2bac9f98" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:21172336f0eba19244bb2a2b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:27361653fbab59a859b04d05" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2e7d39c74e73cc77298e9302" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:53bbd48c4f6a0004fa421f37" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:73728d46d9837136b13d935d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:75e297f4d850328532271114" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:afb523a9c9d0920f59cf1fc6" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c4bbeccf52ce68b43c3b55ef" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0c66d016e493b94365622e4a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1719a44153276215539e83ea" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:46a35dd8eb0ae7f6a95fc675" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:56404437581a0a617f61c0ae" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6980359814b06dbbd9160c82" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7d45f627cf79421d07493077" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a6e8075ddff2303fd63068e9" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:aea0f10fedc374b6f6bc0f36" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f088f0f7f9c4a8a241917608" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:fd3007959536671a2cde416e" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:7e459cd803b9778a0b24e47e" + } + }, + { + "name": "statbel_a1_standin_taxable_income__under_10k", + "reference_set": "calibration", + "selector_sha256": "3fb5a95406841d06893dd0bf5e95f129191231ab909e6ac52c0719783dc5653c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:03e35c91952d2ac2d1055adb" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:247166ef837b5d0ccf21399a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2b856d3d44485d10d4c639cd" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:368cdf80a0376d1c9bcf51f1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4be2dc0515b4b30eafe19112" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7dbec3f268c60452b5718756" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ae891ed4a7885759dca02df0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b52f70a1ed702b96fa07dff1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bf48221bc324d8344dbc4751" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ff2cb970e6078602fd465c0e" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:356581b6d4e9e5e02544accd" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:43e9375fc6c9cd0b1e89be5e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5460f321a6f584fdc4660d73" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7171523324b0588b595172dd" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7b208ca29dfd2745dc842b4e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:81dc70797b9d6241c1d8c67e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:afbfa9036ebbba0a35cf4f7e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b7da56ef3c2d1ec24332f995" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b93dbd5323f3f684b104161f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c52a0e0290acc5dfccf35cd3" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:de46d0df44def91363384dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7fb3b924f7f55fa6cb62103" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:6cd13f5663a6a43a8ddd3493" + } + }, + { + "name": "statbel_a1_standin_declarations__10k_20k", + "reference_set": "calibration", + "selector_sha256": "e862b7cf0afe44e41a0afc3964ee96d622813622b7feceeab875211d13065b43", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2e42eef08f6a64d886936951" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:361cbc729a742e653ae583ab" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3ee1d10c194076504fe7f44d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4f29fec1b41160e3a18ba3cd" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:66f70d9410520739df8f9018" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7ce9ea0e3f64582662c52f80" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9e615a0b4c5cd2c5b2fffb09" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a2984d4e323715f2d0556dfe" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb02608da6ff03b50af964c8" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e26bd9637e0706f813584896" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1c12b7c9919b53345cb7f651" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1d4fc25e6fa771d5681da19e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3376d74d57d7fd0f3d55cf10" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:55e02359a6fd0329e6af41fe" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:60b91db906af83fe8662902e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:80bb55a294c06643dc0b557d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a71e7882eb04dea26126d75a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c92b88076d3d8eff3fbb435e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d314013f7fe2b349da46bf69" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d3247ff7fa9c8e6e51614822" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:7e459cd803b9778a0b24e47e" + } + }, + { + "name": "statbel_a1_standin_taxable_income__10k_20k", + "reference_set": "calibration", + "selector_sha256": "3cb7d6e82c3422fceb0b64f81b38ea16d46e747f03578e1912af575b30712ef7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:10a7b971f0b7b148ae529385" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:11e980ca8d13d7124ecd9dc0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216f8c6f05e83b30de922cf7" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:25ac038fda7a188bc1219f15" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2ab01d1db41309c4c435f3fe" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:470da16b2820764021c6814d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4d4985344bba3c1b5628cb19" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:59814387124cada8267e8847" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ab1a426a985fc91c4a8a5951" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b65e2bc82093eab02313157d" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0e6f7d2ca811e388af3448ef" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1e045a8d0f8ac3ccea49abbc" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:532636a3dee22eb2709cb206" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:65e9807ad6ca001994a1ac99" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6e565876a5f9137a30231a52" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7488ba133f02faf5a1c992d8" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:bfbed2b478f727972065b5f4" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ccabe388fa4e8092d1e16384" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:de46d0df44def91363384dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7fb3b924f7f55fa6cb62103" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f0ae02da386d63e5716d1d0a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f317dea68d95d4d0c8a88ca5" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:6cd13f5663a6a43a8ddd3493" + } + }, + { + "name": "statbel_a1_standin_declarations__20k_30k", + "reference_set": "calibration", + "selector_sha256": "2eafcb7f99f3a5365232d7e21f20d1a5396143eca9c8a04c46823d1e69890615", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:052ed48c321f723308b3b3c0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1b12d5aafdae46787d9934c0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:395b3164461a194d1c07cec3" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:43bb6591202cd6f94f9ca21a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8570a27267e6092579a8eba0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a4e8af93bf3a142a2a2c73b3" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ccf8d7f1ab4e7731e300edba" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d2a0927b5f29e586df77ca02" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d4b9e0adc9d595aa157fb377" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e821301558d6fe84dc3aa6cd" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:478bc1f287d64d4f88ddedb0" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:49ac863bcc05c853b04f5cfd" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6f11fa694250bf3c5310a4a3" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:72a45373f7962436864601dd" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9360c918c3c04f1b7a0be060" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b1fe8ef7afb204c8e48f478c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c73ec2984d2c53ce6fb8feb2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e0e552c63d2ed026992cb44c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e28bd80e7759b8248b3531ee" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f41b0f8ba22b349f43ca34c8" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:7e459cd803b9778a0b24e47e" + } + }, + { + "name": "statbel_a1_standin_taxable_income__20k_30k", + "reference_set": "calibration", + "selector_sha256": "a141456d262d7e6951f590b7a61564551aa7757166659b7a3ac72afa1a5932e6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0504a2f0556287682bc0060a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0bf448ae4c3c6a1188268d29" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1f7271713ef3680f9d4337ed" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2805138958358b6d48c902f2" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6d893ceff6da97f2ccf121a6" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:95c4b4196d3e9ebd9604458c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9a4856291bee708b31ab211a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9df03893ffadc905eae2d467" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a056c445f90aef5da1c0fcb5" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b9d884bd5310006f71060149" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1aa444e3c29898026cabd78a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3189d6d58d506ac3939fc78b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3bd8d082985171a29d74f089" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:4869ec6d6b2fb66279ab82df" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:56260b4ece55e0b7980cb944" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5a26c496e64a0e8136fcb0cf" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:61133e70faffbabcd554ca6c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6e226b1cb58a8b0950285dbc" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:758f94170b11e5a0553f5198" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:dd8b38a6179cf431754bb491" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:de46d0df44def91363384dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7fb3b924f7f55fa6cb62103" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:6cd13f5663a6a43a8ddd3493" + } + }, + { + "name": "statbel_a1_standin_declarations__30k_40k", + "reference_set": "calibration", + "selector_sha256": "6dcea454850493141741ff7dc05e2dbc201ae438f15057307003bf7589e110c0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0e707027eeb4d419d4de22c4" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:333e6643956053ca5447458b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:38c72a2d4cdc164774a2b007" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:781c351f6ca408218504100e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7d30c30af33274fbcc271b41" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:939c0566c893917c4c591c84" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9b0d144c1fbbccb46b5e6108" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b15de98df90aca79ab12c290" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f926356d61039c084a628488" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fffe9a95a2e2ce1acce9d040" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0e736b898a885e1214571b41" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:20e28763f3dac6d1c72c4219" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3c7b6dc8b45fccb56c810839" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:419458732056ebbfcfb00536" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:52ebe86ce6d41d5c924913e6" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:607cf36c897ceb5e4ba3ca5f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:64c1825359f2ec908180d17d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6f8b4464feefb701dc446a30" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9aacbcab6ff1312074a10213" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b9b326f08626872ab6d990bb" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:7e459cd803b9778a0b24e47e" + } + }, + { + "name": "statbel_a1_standin_taxable_income__30k_40k", + "reference_set": "calibration", + "selector_sha256": "d9bffef36dc426e1d29da578feaa7b52dfcc8df1ff0fb3171e7bb696232ea3d5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0241a0ca21b3d34e1cd8ce46" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:218d92e5e401086990583c1a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:255a9787c80f7fda70d0cf42" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:33d11f4982c513a3b7550339" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b733f4a98eb99f81190710e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:51a3d1c282f4431602b53266" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:700cbc58e1030ca064d52f68" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bf58e7c8fdde4d5a2bf32bce" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f2558f8cf9fb9b4cc010c842" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f9e5c91dd8f04d4921f7798c" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5bd5492d28a7bb01df42191b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:683543309e10ce5e800e504d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6a54f5ab54b2d27a64823d79" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8c43cba9c26eeed1a21619ba" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9c1d00dddcae71b5011b8b9d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:aa8de0077c037b1df1a72ef4" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:bc051d80b9b6dacda91d15eb" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c2a794a092a0da84c58de5ca" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d50316e82bd2b5c08c8109b2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:dd42bfb662401591c6f1f290" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:de46d0df44def91363384dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7fb3b924f7f55fa6cb62103" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:6cd13f5663a6a43a8ddd3493" + } + }, + { + "name": "statbel_a1_standin_declarations__40k_50k", + "reference_set": "calibration", + "selector_sha256": "d47131fa49cee7df04e6d12da356e57ee7efcdec118ebbe1a8956d629cf1bc04", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2109ea2a59573abcb4941aac" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:47127e8ee01fe76af48a689e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:521f89e95836881a286eb5b7" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:561c7150b119d8051bc62ef9" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:64ac2dd80fd5e68029e7a0fa" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6de2cfb26539a46a81d2a11a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:85d494942843fc43de745939" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b7dbdd3c2db26ac9f368fc1c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cfade8fd8477bca3c2c7cffb" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e0f81ecf0194089dfad4a524" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1ca4cb01f957192793134972" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:22bfdaa90de7183153c2d38a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:26549467cf6b473ad16de2ec" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2a0e9e374009c9f2814d09f7" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:404897cccb684bb71706f631" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5d572f0f31c4b07c632ddbe1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:60f6ad3ec670fb5b8ddda9f5" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6238f8e659310e0ce3c58f1f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:753c3e5837bf1d082aece3af" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f4906fe7357db70ff5a9a5ff" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:7e459cd803b9778a0b24e47e" + } + }, + { + "name": "statbel_a1_standin_taxable_income__40k_50k", + "reference_set": "calibration", + "selector_sha256": "e7e1677730c775c0a1044899e0df1f06023a5a8cc646e82b5d1d9431efe0ff07", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:00190a31d57c9cc9b4424a6e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3d8217c4b8a81a226b37ba08" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4077f34995da1e340e84f929" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a9a71d421a0de2ed63bffd5" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:534113b96172de137044efb3" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5f29ec8c96b51b7e2606a54b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:797f4e08c02eea29bf3029fd" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8667f78172253564c0f85535" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ccb4f81bffc203c56d564b1e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e5588b11517e7735c01ea0c6" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:26e2748aba2c976991ff1987" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3eba3dd641111eccdd16bc2f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:4eb84752ba0a9fbf2fc2576b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6f0ac12c0ef2b6988b75f686" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8a07758aae26377d22b967d4" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c6b384852d787f9405b9e3b2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d6139806b97237b22182d6e8" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:de46d0df44def91363384dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e485d3b1b68df825a3ffbfb4" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7fb3b924f7f55fa6cb62103" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e87f89e9d75bbb25afb90f0f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ec6768cec1aeddef21d76592" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:6cd13f5663a6a43a8ddd3493" + } + }, + { + "name": "statbel_a1_standin_declarations__50k_75k", + "reference_set": "calibration", + "selector_sha256": "1f154e89ae76dece31686c1f228ea957ea81e50027e31e72f6c3867c1007da81", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:00374c57163e7864edc3d259" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:021607e92505d906e2b402b0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:099d5e67fa8eaae82708c035" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:242bab4c8bd8fbcec9b08d36" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3afe82339ce66aeaf803fb4f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3dd97c7908cac4f251fc0415" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:45ace663158ed2998b4c9626" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:52902c5cf78084e796f9c437" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:53a6b619679f080e74a27336" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:546a923560493d73ce44a81b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:554cd7b0b9ce44266334b008" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:655361258069c4b8028a7053" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6cf2b0ae71ddcc5a564d0024" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:74ebb8ee77534a6a6eb0974d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:79c5d722d99fb8c893691ee7" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8d47c8d1d76f2be51fa4da38" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:94c856ccb7ffe26161dff53e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:adea55591c48783a184faae6" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b2c07c288907ad1b7bc12b0c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cbbf70f353292afd90314177" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ccaa50fae95ca3862501391b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e01df2b3cd734b57e90928b5" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e652590bcd9b1bb35939135d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e9e3527920b50f8a09fd0195" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:eb578de10b2459c6f863696b" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0374108611c7b1563a9968ca" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:0a865adbe974f95d01b5765a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:11560db44446d89fcad63e67" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:132ae2cff60b10c8f4d4c3a0" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:254e1484f4639f2dc16542dc" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2ea5267032e879dd4846bfc0" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:33209fe07815364c074fec61" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:423b05601c2bc4aadadafa0b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5f1a59996f4b181042e0844c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:60b946e54eda7866613ff7ba" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6121b675c8a79a955d1b024f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:63fa8b5c78bcfeafddc591b4" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:804f4e9e43e8570fae21ee5d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8406ba881a975a86fc972dbc" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:943869e4cd0b5823de0fe838" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:99e6cfad66d2721c110a038f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a05a80b768f3195e0ee44480" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a8cb4861b8d3358ce5ab0f91" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b9b2f270488927af9ba639b8" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:cac955400c040c299ae77dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:cd3e61e22d714b94f5ecb11e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d8baec716b5cbc9e708260cf" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e134a9ad8c51b81cbb964cff" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e38d2c127b202df49202df9a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e5cecb6c5ba8af4fb214459e" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:7e459cd803b9778a0b24e47e" + } + }, + { + "name": "statbel_a1_standin_taxable_income__50k_75k", + "reference_set": "calibration", + "selector_sha256": "32fb4d56971230678aacf3d9b133f42c1367a2e3a91c70f81ac61c4491b9452c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:30e116f7afb7eb9b5129127f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3ad18a520fd04b8a97fef91d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b1722f7c87d8b4e0393db8d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c7743abe9a498af79b660cf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3e0961c58400cf4a47273688" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:45dc193f478070fdd5eb3143" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:495fd29853c077dda007e687" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:636e57148ae09040cef15fd5" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:655df2071ceced21495cada7" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b19af68d38ec9cdeffbf809" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:736e0732b0c019ff8dc8430d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7c1b30923d65a3b318e7ccb6" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:85a2417cdb276db444b82721" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:89dce4a33f7a1ad60ae8eac5" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8f5abdb6eafc34a75a140e83" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9139d0e20192acca6cef48ca" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:97ff63314efac4de0158692e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:991ef6ac9b0732e36ca5ad74" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:aa10ec6747d0b8d38ae5f2b1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b1325d0a5f4a40585d6f2288" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b9c103c758e57c457a598330" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c0400f1f1bddfa962fb2a879" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e53f133140432c640f9d6457" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f00fbb8984c6bd971443eedb" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f25874bcc0cf51f82e384085" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:00f2ea0b11b191706c15367e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:037b205f65816030346e7393" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1098bcfcbf5fdce65df2976c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:11021e6cb18b5e86ebd3b68e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:120918412e0a0154825be643" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:291872a9e4f01ffe55da6382" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2f180ce18ac7ed978ec17a5f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:37fd8bd087c1df88495d9121" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:541c0d30adcab312d9357ae2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6d552ae23bbc1281e77f8cfc" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7020e3f09328eb5230f2a920" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7777b62dda8949af695d9512" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:86498a699e18c9e5716d212f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:94d297fc802a275048840e13" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:98635b32eb8f8ef0b3b6d9a4" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9bed3b25edd46b0dda8b25be" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a3661d4255a809c75a73e577" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b603852c4faf1d495c70cf58" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b67be4627ec36a6c76330fdb" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:bc21e75f95d2af35701243d9" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c8896c9bf03fcb90fabfd17a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d75b03cdf15417a26d8cd2e2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d95d5960ea1c324f41320a70" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:de46d0df44def91363384dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7fb3b924f7f55fa6cb62103" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:eee292b108d421bc860ca58d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:fa11dae913a97d7158bcf5f0" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:6cd13f5663a6a43a8ddd3493" + } + }, + { + "name": "statbel_a1_standin_declarations__75k_100k", + "reference_set": "calibration", + "selector_sha256": "438f812f3fe654f170c2c37e3a009b5d8733d8c443d927a181f77946a6231ae6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0225b0fb074813695ccac841" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2dcc8a2698672e7fe4ffd827" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:325f7c9f9c4b240bf758f219" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:37fdf3e44d7002c36ec5a626" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:39c6497ab8874f2c3112ce50" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:41494cf6df3a756757ccf146" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:438b2d673f420aa4084f57ff" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4be31a1b94e8829c7aa20acf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4f639a868c06e3f0512f719a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5ab1e52c1ee687122267b352" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5b73bab6e64357ea78a62c02" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:66230f42ec171d0251dbdb77" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6f7c64fec3947b7fa3f67ded" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:807a387a6cdabc9a47e814ee" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:818ef59d170c24f7f13a0a6d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:82e05d9c2867996ab06cf3ee" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8fd5c959335b0c4f0d62c5b4" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:98ced87da70aebb9bbf88a26" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c5f650f6f1c39066389a2181" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c9eafe07695478e2734d05ff" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cba4c87ba611192209914dd0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ccb6b757edcecc25c3cfedfa" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ece5f263af1650b662ec3329" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f47237fb4bf641eab8649033" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f68004299897a3490d7481c8" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:07759e549ac2ba56bca83d9d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:16efd535762a16bb986ca788" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:184b4ea0dd4e7ade5122af2d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1f4b8a9b57252246c0f4d6f5" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:241da0907b668517b4d778a6" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:33de7b83ea159d1d84a6ef0a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3588601ad6b4b8e902ef8acd" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:382f943e55ffe787ebf29b66" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:38503d5a9373d9e97da4a669" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:465b8123a3560dd33a5c571d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:56e8c3be3a37706e2363ac2c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:57a8a42d583f8b80bea0ccb7" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5d425c9b5302f68b2ed0fbbe" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6d71c8cdb85d86c5be7f4206" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7add4afd51a8d8c9ae477048" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8095d7b96465960dc81d2e9c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:812f25ec512f027f9e6edf5f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:982ffe6fb410bfdd3dc7d28e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:99146c7504299f1634bf3975" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ab84be7b4621fff8150ec8ef" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ca11967f9976ff9828f3d124" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:cd41ca0ee6d54f2b2bf036f7" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e8c46a036a2f429413544771" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f380789bb9cd00eb6baacb5f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f3deee8affa47414ebb5c531" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:7e459cd803b9778a0b24e47e" + } + }, + { + "name": "statbel_a1_standin_taxable_income__75k_100k", + "reference_set": "calibration", + "selector_sha256": "5a67cd764147d219e3515e3b89cf732466f9c48fb887c017513cbd44f81c02dc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:02419020ad8d5e7b50d4e147" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0ad25616442d6f3add0534d1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0df37c5c857b146a24f65962" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0e161855a1539abb69567444" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:347d8aacbafb98bb3754f12e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:351e353a115fe9fc689b3c8f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:39df78089f9f7a62ec857aba" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:41e9cf6be0ffb0caabf024b1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:43b62c5e96b4c1ff0dabcbb1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4b3a13f6c721b7a04004dd85" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4c1c6ac207829e3d58b6ed9d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6c0e18c4b003df14f7c143db" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:70243958bfc888d5bab7b24d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:87c41f243be6589b405cc0ed" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:89a8c357861de813e948f940" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8c66cca865dc180d7b0622b8" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8e2ac56c74825d0d506ee236" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8ff335d6c6b410043425f3cd" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c715bab776127c5df8976232" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3ed4a6cd00886cddb01981d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:da1388be2c4b4f5dc4b35657" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:de7c6b77eefd16804806e135" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f249b74202d70bcb6af692fb" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f9826e633cbc341222541ed3" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fc8dfe4c6569f5bddf07bf45" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:12c799147c13c5ce09ad2111" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:166bc92f9505053e81ce2b49" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:262568193fe4f3b393cc7096" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2861f7e52ac623869fc7aa42" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2938d5a032b78d1ed98f0207" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3017907315d4a04158872c8f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:50d12973c96a6a5db3915ae3" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5553021b30605e8e8abab98b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5a5f7146695bc6a576f3055b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:613a1f6bd8c752dcf05389fd" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6828f0280cefc4036adf3508" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:70660d81bb423ad2c36d3615" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7db28902b5e4e26b0a4c6fb3" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:95f4fcf315356e219273ab3e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9a4b12a0c654c51506956814" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ab24895b9f4e8b8b8897d90f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ae62098acd5935d65cab8136" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:bb69a6b3764e3f884e4aa2d9" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c4472202deb6721d0136c990" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:de46d0df44def91363384dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e67d180fd036f803b5acf084" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7130fa816b6575046981eef" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7fb3b924f7f55fa6cb62103" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ebbf89635f488cbdb2e3ba23" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:eeca9fb2c499a0e86bc661b0" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:fa5adf4d4da91d31d984cc57" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:fe6881ab2bac30bd60b0ee28" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:6cd13f5663a6a43a8ddd3493" + } + }, + { + "name": "statbel_a1_standin_declarations__100k_plus", + "reference_set": "calibration", + "selector_sha256": "b123cd350b25ffbdb33cb2e93bd6b57e2d36bde4c8edc5e45b2ec1d91d86cf34", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b72f44f341a3d1c4c8fcc571" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ec326227146c198aa685c52e" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:7e459cd803b9778a0b24e47e" + } + }, + { + "name": "statbel_a1_standin_taxable_income__100k_plus", + "reference_set": "calibration", + "selector_sha256": "0ab74de6ae8bceaaa1d5a04365483af0e0ca9b623e4ae701333d1da655e51547", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d104436d6743b4c030077c7c" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:521200a07520f02487c8507f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:de46d0df44def91363384dd2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7fb3b924f7f55fa6cb62103" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:6cd13f5663a6a43a8ddd3493" + } + }, + { + "name": "statbel_b4_declarations__joint", + "reference_set": "calibration", + "selector_sha256": "f462b22b9609e84bfeb74868bc2fde240a51c038f28927611601e824fb2aeba9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:30213a94a5fbd0cf462ea7ea" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:47240b3ae26bc119821a6098" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:47de8daa25362b289e557587" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:545e7f759661430c2f098973" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6e496f962650242e21136a03" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:abc2f5c51c58f0acb60b0c77" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b6a072e068b1a57467222f0a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ba38b418f952eb5fe192fe13" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c785bcfdc0d6a818c5605495" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d80f9511c2e1e75b08019cea" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:03619e28dc2e0fe21e6be9a0" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1931e0256eddb67e4431b0e5" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:47e4352284a914ac47bdd354" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:62988ed88835a49d720ac397" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7e521e1438604fa43287b52f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b1fd402b489a0faec3afc771" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b7b8f2c2ebc1879829be471d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d23eea806065a0aa21374131" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e49605f1b8bdef6daf6d6662" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f2f380170b0c89bff7c4ebe2" + } + ] + }, + { + "name": "statbel_b4_declarations__individual", + "reference_set": "calibration", + "selector_sha256": "a832417f42fe43afbeb4bc776c153b283d66aa67b271014da0f03b2eac3a5097", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5cd58387095122d5d4bf33f0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7627ede5832adc817e9c8c49" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a3d68c8c496736e437d8e8df" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b0782d1c52e1def5f9964d0e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c4aa0a8f10792a37e688f2cc" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d00c969481c344bc2faa1825" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d327b6bf8cdbb046ed8332ab" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:db367480af1684d2c1e6a956" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dbeb3603c33ddbe448bdfe75" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ebc68a29b87fed04e9ca2a05" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:19ebbe0d05dd5d1f6dc5b864" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:34639aa445f8af6bc774ff3d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:40f0ed8e84dffbb3b6f45694" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:63e540fcddfa12b9106bc31c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:91644e2fd5fddd36df6c55e3" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9640d7bf6d3e454b507c7d17" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f22bf961164f8ead257dac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a8629d96a33b60363340f546" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b12ce7c1bbfa08297366361d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d71a3e710a62108aeef1280a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e28cae812ae79bd17a034cef" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e35ad15583a829ebbb58c9f9" + } + ] + }, + { + "name": "statbel_b1_enrolled_tax__decile_01", + "reference_set": "calibration", + "selector_sha256": "15e458c16c9e876233b37c87c4561c9013f4ab4b618458d491335d0a39851242", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0b2b5e737d0305a356532b3b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:aef702c6dc7f33e5fd7d75cd" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__decile_02", + "reference_set": "calibration", + "selector_sha256": "adcce56dfca1ef8ca76abb506a6d53a0f223b30dce40e1bb4ce093312b521b31", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c6ca78a1c708058c93a0f976" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4f3788ec9e96cd111de2ed75" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__decile_03", + "reference_set": "calibration", + "selector_sha256": "037531ebf14ff972671c15e38f06f1f57e3661c01e27748633a92db2e6062dda", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:109397450babe832524a5c97" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:863e833a5e0d358371e01576" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__decile_04", + "reference_set": "calibration", + "selector_sha256": "a77eab441fb15312a9f0ff330fd2c795d4b3c2dcc8d3b61fb92d71c0fff83354", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:af9649af17a29cc5dd903c59" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f2749c95a5c320bab916ba58" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__decile_05", + "reference_set": "calibration", + "selector_sha256": "deaee715d6aacc914db31488479673fbf6a5a3d1e17c9fbf10ae9bec392bd8cd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7a4e850043abefabfa3ed8b0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:151998cb966045d14f1d613b" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__decile_06", + "reference_set": "calibration", + "selector_sha256": "24e52dcdd69cdeb5ea647eb70af9ef0bbbf190b6f8b6882413c7fdae5044a89e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:72b19dd783c1bc3da72aae0d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3e92791597e28e381742c1bc" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__decile_07", + "reference_set": "calibration", + "selector_sha256": "80cc6fdff54b545ec6587aa09422d4d1b046892ee8099fd1772ed42c38d6ff18", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:076e8b7e6856e7e8a9c7352d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:407759f215b555dc80737775" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__decile_08", + "reference_set": "calibration", + "selector_sha256": "d020de9cd4a4e52046ad3bda036c653b707118351a334a132ea0472d508f30a1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5075cc8a100e029980205e4c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:cadab754ee06042f8926a25c" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__decile_09", + "reference_set": "calibration", + "selector_sha256": "84d67e7b10cfa09034fa8d92b1ccf081ddb1008d81b3a72357f5c4b8033896ec", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:de89896fe88dcc2b7deb9565" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:85e3ac9e76520c5670786042" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_091", + "reference_set": "calibration", + "selector_sha256": "19a5d80aed3efdc0443e8b1feac57941270744fbdbe3d9cd77974000663b52b5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:46f239dcfed5e9445903306d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:18705ea80ea31e4ede8f635b" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_092", + "reference_set": "calibration", + "selector_sha256": "ca49aec7b8f4f1e8d7673c1e82e6d1320cb5957f1cd09d0db83851bd0597ed60", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0f8b2d677fb9b21b13760d44" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d45aa345de0817f49d4547f7" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_093", + "reference_set": "calibration", + "selector_sha256": "45ec3898710fe899cde14cfd4a1d7742709a6441a70243a0d35472160d5f68ad", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7e02cda58a39d38f57c9d523" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:27954ac20de3bfff688e68f4" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_094", + "reference_set": "calibration", + "selector_sha256": "e259c461b24dfde2fe3083682af2e126e918f59073e26b7374b4282c8dd38ec7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bcf3324ba69806b46180b770" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5b000df800d4adb5a9f7db59" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_095", + "reference_set": "calibration", + "selector_sha256": "9fcf6596dfdd6485c186aa4b5d9b6479ef10f1066fae455c5c90c0b16a5fef69", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8a2ba3c05dfec9a9a7f2e875" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8806286c6848317c04b9bbd6" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_096", + "reference_set": "calibration", + "selector_sha256": "bc3ce493a73e137c6a20d18456460d7d30bfd0da28560069a5f5eb64e8935e62", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1ce91b227610925d0740895b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5124a8439ea9f8f08d3a8e1d" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_097", + "reference_set": "calibration", + "selector_sha256": "606c3b2e9c37d8f6c89c20ab45fe8cab4cfbeb91b11248a1b5d5be1f127dc397", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb3fdf0a97324fdd08a83c92" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1ccbc5af17009af540cd2a94" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_098", + "reference_set": "calibration", + "selector_sha256": "42d9beaa6f9f5edbd88171cb70141e4cc70ae2f7619c34de0b6d57c651203ae7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1a885fe815f21b066406344a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:73df832162a926f9f8cb4deb" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_099", + "reference_set": "calibration", + "selector_sha256": "55d9a9bb76f5e50f0d037e7a148699867aa68a2daf69f82d74b9e6f774599b6e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:707eddca745f7611662f6d46" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e0e73ed759fbd62f8bf184c3" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "statbel_b1_enrolled_tax__percentile_100", + "reference_set": "calibration", + "selector_sha256": "9d57843a0c9816a517a859d8ceecbf5d80cbe9a5698257223c4c0389c7aaf825", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fefd7bd484d320ad42b5f7fe" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f3faa7fd2c8be738fa75da24" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:2e4f54e61171ff8e5ed5770f" + } + }, + { + "name": "onss_worker_personal_contributions", + "reference_set": "calibration", + "selector_sha256": "b078c7128d3da087c087e6172f799721377a83fff6ed9fb5342384a298eff77a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b6355af1bd917ae71a7df3ae" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3f953c8cbe00192899c93c3b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a66b02d02ed92c58e542e7ed" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:016e305bd1f0d6b707d5789c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2ed8b7eebe206fed5c4b124a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ed3a3dfb35252f0bb52a0a04" + } + ] + }, + { + "name": "onem_complete_unemployment_recipients", + "reference_set": "calibration", + "selector_sha256": "f80225725da5d8eabf86449cb3dda25df448948f9b523ee40617141d6daf7ccf", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:466ad99667f2d50f94a42726" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0c722a128a1871eecce5232e" + } + ] + }, + { + "name": "fpb_unemployment_benefit_expenditure", + "reference_set": "calibration", + "selector_sha256": "23b469afb84b648c2a7af5dc4c80295c1ae2488c65b70c61ed38633b4e2597f2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:45ad11668f4cf559bb3c388f" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:45ad11668f4cf559bb3c388f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:61a041fd9dff09745593e4da" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2b5f46c35897b369659a742e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b36f50e4b2548e27c906c37a" + } + ] + }, + { + "name": "fpb_grapa_expenditure", + "reference_set": "calibration", + "selector_sha256": "c177aaaee2187c53a1f79b86ccbfd974f1cc077e776d9b909eecb915d6753630", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:776e68a9e93ca03151c53baf" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:13ee4f4b5a469ddeb487eafc" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:776e68a9e93ca03151c53baf" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1d1feeabde4c29a1e7fe8b2c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:4f321ab4b4483cb6530a6cab" + } + ] + }, + { + "name": "fpb_net_mixed_income", + "reference_set": "calibration", + "selector_sha256": "5f7cbc4eb439e0aed2aee10ac75fd54f15b17a607260e70e7b403ce4ddec91d4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0db8ec51ab64a7f7519fc5d4" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0db8ec51ab64a7f7519fc5d4" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:82a8d913db8aa3594a182492" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:aa9d0691e462a66d0427277b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b0edd0b4792972cc7767b04e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11001", + "reference_set": "precal", + "selector_sha256": "f5737a23c6f7db0bb5fc0c306403e61efdc19cc8344f270d9c9cb74060b0c4d3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f835115b964f486edb03713c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fa23d77da7abc7a7d1b33619" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11002", + "reference_set": "precal", + "selector_sha256": "3ecf576a2ea632bbbb56ad597697931b8b4fb983d908ba0920a414a94c028895", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2ba2424c10ef64feaf16d030" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:76a87246c43380f4d15acf9d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11004", + "reference_set": "precal", + "selector_sha256": "0ff4ae86c2c465e316d969876868b7522c88d7c788d54aa2adad94354cd22282", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1c156d0b0bfc79da703fa489" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:489abff34d4bafe03be6ce03" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11005", + "reference_set": "precal", + "selector_sha256": "fdc2cbde3345ddaebca7f904bd8dd4e505765abbdd1ad6c2e6e8dcb6693f4d68", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ed6bf439079a3a43301b05ef" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8f33ce08240c6d696e7717d5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11008", + "reference_set": "precal", + "selector_sha256": "bebe6b464e4ccc3929277625b41f800ec9fd16a573204f145de208511db5468a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:24f980b6aeca203045018aad" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ec5bde165c3fe065952a5630" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11009", + "reference_set": "precal", + "selector_sha256": "6bdc2bc1acd51dc519590ceb4e876b39466edb664fb22bf779e5a8c65d91486f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3d2995f8041fc351e1b93796" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:05d68fa00b6f7577c44071ce" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11013", + "reference_set": "precal", + "selector_sha256": "73cba3af6a35522f3a3d7152e391cbe111dafcdf952b53255052b2d226ee25a1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a8c62bac99c48d4064404d5b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8ea4977f8dcbbffd9c122679" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11016", + "reference_set": "precal", + "selector_sha256": "00b5babb9d902e0cdf10777dfe600a86035d4c0b7bafbf894c2919861c3d3cd1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3a2d1f16fd426c4645fa3ed3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:053d25099ae1fda042e699ce" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11018", + "reference_set": "precal", + "selector_sha256": "69502f010b8992eb19aa724d9a17db9e5b0c3d0f4988e247c4d6549b8b2f85ea", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:baa871d4fe4ff0792582bad9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ef00b35738396f1aee433a71" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11021", + "reference_set": "precal", + "selector_sha256": "a334ad3738e7a5307702ce9cdbee9b9bb8baa138380ae71fb6bb0646f1e698c7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:48cec63734831d3be43e08b2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:daf025b5c33327908d3ef404" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11022", + "reference_set": "precal", + "selector_sha256": "e70f1026344b53adef89d8001b1e5a6a4a28f57e7382ec582c12f82416d6d9b0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b404aa5f491504f62767655" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fab1b0b12b9959599e80dc23" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11023", + "reference_set": "precal", + "selector_sha256": "3c975a9db6e525b9a9e067bce9b68a634c523923b143294ff541ab2d95104d67", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:08116f6132827984973e65f4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b3fc2c1381a33d77a4b6fe54" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11024", + "reference_set": "precal", + "selector_sha256": "ac4ab2790ed05154da26c9b6c946245665cd36de67f3a39b479f8ee615aa0de3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f5b244ddc70261fc1c5f8da9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f0ce104034230e29458fae35" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11025", + "reference_set": "precal", + "selector_sha256": "3c92fedbb8bb0b95786b835d2a59b754ef9113f1e32b7b91b2c3ba2f68e8ffd9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:092c1f4acec379d6b08dbb28" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:43df5c46866f93cc67ec9434" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11029", + "reference_set": "precal", + "selector_sha256": "1182638b88f3ef25e1b0a9e85e5ce5a2c827f0b99818cebbd59418fe21f5d605", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f98312c26d9a824224fa6a51" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ff8d84fb54b95688daed343c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11030", + "reference_set": "precal", + "selector_sha256": "1416d60b8f83988e6e9989050b613551c049fe29d0b7377697b25ce3327a29db", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:891aa52e5f887cf1bd674c25" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d9efb621048e19161f729435" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11035", + "reference_set": "precal", + "selector_sha256": "37998009f8421a0a11850cc4b19bb901abaa6e970310dc254fa7a002268f824c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:db2bd7cb8285dee24cb77b49" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d38f5aadb1f3b34ed9d75f43" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11037", + "reference_set": "precal", + "selector_sha256": "a11aea844974f499d07191ab592c4c45dc8193c77b077d17025453f037446948", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ebb1a2c549597c0fce21afb6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7790709fd3e7fc633bb1a9df" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11038", + "reference_set": "precal", + "selector_sha256": "c1284a6bf94eaf6cd4a4080ae4d08858694a2f1e1b9e42f4e30491447d81ac5b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:98a3c165a4741125655ed192" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:46c88a2246d23d7606769614" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11039", + "reference_set": "precal", + "selector_sha256": "df5c1ebfe1ded360dbb639d0a204ef72664d65d9d4a0fc3e8a25712ea1c922c8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4bf83330863636ea38c1d733" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ea11ec0c20915904b4dba333" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11040", + "reference_set": "precal", + "selector_sha256": "7b2ccdb45ffd46fa5392991808911830f106a7a476faff2c46f628dd08768ee5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa8d8999f82ceaa94631b056" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3539535dca7cb5ab7e11cc49" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11044", + "reference_set": "precal", + "selector_sha256": "68a3dcccaf4046e5a13a3040c2c2cd44574424e2652309c2ef588df97e95fbac", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:aabf84f79af2cefa2171d2f7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5781c7dc65c8a2457d6c1c18" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11050", + "reference_set": "precal", + "selector_sha256": "42fe474ab75a5fbdb47af549cd1a14f6030d8c90aa0b1a5c320d12f14b9887ad", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f2e6faf54b3e648d21be8c45" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2ed9ae8d907b72caa5c0c21f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11052", + "reference_set": "precal", + "selector_sha256": "78cfc299a837e15fc67ca1a2bb98d20b002196ede52fd9cc40079941eaa8cee1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d756c12971df249306e7d3b4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:028febb42a6cef4d8886843d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11053", + "reference_set": "precal", + "selector_sha256": "fe2c075cb156d85a827e7fc27aa9dfa26ea91793e95d86647764a4c629a04268", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1d624d5e14e2a1e017f986c1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:cc10e919aaf44d9197ff7339" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11054", + "reference_set": "precal", + "selector_sha256": "7a055590897355ca266851df7a525f08447eba55a707bd5419195071969d89d3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a2a11691d7d6e984c13e3050" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b39924a96ddcfce3c87e64b1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11055", + "reference_set": "precal", + "selector_sha256": "ceda18e5d4aa1993703041046807ba00cf281ca07d6cf34831e18ce51f3a7b0a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:66de23402f11fe4d3b3f9dd8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:412cb25d8c7e46dc4e5fde59" + } + ] + }, + { + "name": "statbel_population_by_commune__nis11057", + "reference_set": "precal", + "selector_sha256": "495806b282ccffbeae70ab8558d3c2cc9c8cbc80e0b6959af50cad5e47c300bb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:18ea2e86b6dca871d88c9e4e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:41f5563e143a2a142f83afee" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12002", + "reference_set": "precal", + "selector_sha256": "938dcdfa122acbaa5a7b90244de037eb1dc14eef54ec17844ca59342330ffae9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f6190f8fc954c70d136f4ee9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bdc2495767a79ae1dc76b7bc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12005", + "reference_set": "precal", + "selector_sha256": "79647c1bc3c9c7d53b49410bcb438092e548a3aec3f30e5eee43fc0e3d5ecd42", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9f1775f2016a51e43fe59b4b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0a3e6a538a5c3587190bc1b8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12007", + "reference_set": "precal", + "selector_sha256": "f863542f9e787e0fd00e84bccebe20e41ee9c2c540d1027df45c7b7831e983cb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:10b473e26371b4b277607435" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5bda82f348c370d4d64bfe99" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12009", + "reference_set": "precal", + "selector_sha256": "451c40ffa2ef5b9c668da83d3174662183771f8885b45ac21d747cb382ec2c5c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6a54548943390bb86e8931d4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a0aaeae509d21c00f4de2839" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12014", + "reference_set": "precal", + "selector_sha256": "06260014497c47c43e92e704587a6885ad957bbb5ffdddfcf11736af16aa7aa0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4f4eb38aa2aad661ecdd5095" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:eae7012795f594bfae6d72e4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12021", + "reference_set": "precal", + "selector_sha256": "fa3851725c457e0b5fc7d3622b88a5a6af86a55854a0113c61fb12227a9dd8df", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cef10270c47a06a30ffac49c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7877b451b325c40afecbba75" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12025", + "reference_set": "precal", + "selector_sha256": "71e2af9c2982a158d19bc0051a4c64b7f038049e51f02cccb3cc15f473b8c49c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:33452ad4ba8d42960048f7bb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5af90ab639f71f5e9287255f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12026", + "reference_set": "precal", + "selector_sha256": "6f454a5e02f40b30a672def131d59fb4a1af6b5849ef33775cc96a910624fc45", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:48bd6471bcce0cddcf9b7dc3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bd109c6910a9fb4ecd2643cf" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12029", + "reference_set": "precal", + "selector_sha256": "d19dc9a395e006c808ee920c0dd134cb2d95496d9875821dccd0ff4cb5f7fc41", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:626bca7ff95c4ef6e5a340ea" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:60284222c117b4c7a357a9b2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12035", + "reference_set": "precal", + "selector_sha256": "62be3570d4278996f91165565b17fbd8430e2e4c4f3321e694121ad0f3411e88", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ee823cc457c2997863731355" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:04119be4be748fe4c987e50d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12040", + "reference_set": "precal", + "selector_sha256": "3caa78777155ea60e4c2f2604da7c771511cbc23edd84cc7d109ba1a0de55dff", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:aafabc0708fa2641fd703750" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9c98f469af1c7a63dedfe0ca" + } + ] + }, + { + "name": "statbel_population_by_commune__nis12041", + "reference_set": "precal", + "selector_sha256": "c229dc2574bee9f321b6201a321d9d929d16a270247a0961112c55ace0b90743", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b55f80c204853baae1a1edba" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7b82a4a6d12d7dc10fa64ed0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13001", + "reference_set": "precal", + "selector_sha256": "5304718611286159441609d08aea641623e2a643f559867ab609df792eb25037", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d52f015d80c444dfa43859cf" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:024b4144bb95069bc5aaf01a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13002", + "reference_set": "precal", + "selector_sha256": "1ad0bb2a00a9c30203b31e2465116250e62e334f441b3455c9a574000244ccd3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cebbe381ca8fccdcb1f61a23" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8671133f2c47cac128bd8fa8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13003", + "reference_set": "precal", + "selector_sha256": "eacc5a5fab26298b035b1b292563d24edc168e99e3e26ef45e414a4f432d20b9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:976fb693e7839076b2f9fcd6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:229c3d9fb1fb9184e5f428aa" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13004", + "reference_set": "precal", + "selector_sha256": "52ee3a0359713a0184baf4ae944610f7fa1e495e9898284b8c978ebfc92213e7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6c05b10dbe151b156f627d0f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9d4cd0380cd966d471d49db5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13006", + "reference_set": "precal", + "selector_sha256": "78bce2dffec8d9bc5ad81194f2211eae290c24b2edc6088e0618a9593fc39f54", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9f7778bbb860be66dd9dd485" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d9a205ec69373647d26b84de" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13008", + "reference_set": "precal", + "selector_sha256": "765f12fccd3363c006304ed03b3fec907481bc5375cd94cabccf13a86c12b71b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ff89fb85cf7345ac72dc6ab8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:107ddc3b0536d8493059274c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13010", + "reference_set": "precal", + "selector_sha256": "7c183664e717a86de87e35214537c1d46548e1ab5b1613cac7cd3435c2746a97", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:30e7b019c4b92bce243175a9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:85b37130aaf421e3a0d2d096" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13011", + "reference_set": "precal", + "selector_sha256": "27758f78b2954db7e09d2e767d719d9b5c6bfa61ec43c90f5f0e5761fe0cbd52", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1db0dafa387cead3002f7b7d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3b8228db6765482fbccafb80" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13012", + "reference_set": "precal", + "selector_sha256": "e58e07b6cc58a69de6fc9524b137c2a63ef7c4a70ad8488536cf614ffe68cb8e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f1424c8d7e34bc49400eb97b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5502e1ad5bcbdeeb5286e999" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13013", + "reference_set": "precal", + "selector_sha256": "0e9a80294878669a2ff06205ed14663b48652c35ca89549187c05a788d5d5c50", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2d4a175a703e3164f6e373eb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1bbd3226610a2c1b56f1bd98" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13014", + "reference_set": "precal", + "selector_sha256": "13b6ad484653c228e4a9a11f82a34dbfc82cfd76618a6ba3dfd8d3c0397634d2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ce392bc5794f7800929262cd" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b6c0e41c69e7658f9921474d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13016", + "reference_set": "precal", + "selector_sha256": "b4d74e0e8e74d46379c737faf7491b8b13bb25ebadea48399355746a61dfc851", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c0302158da4a50383d565f81" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b637d7a11459b0aed7f5c039" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13017", + "reference_set": "precal", + "selector_sha256": "bb95da21b8fa445812d0be5df97523081ed7784f07b4a766a152346196487c1f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ad4b4bc71267284a7573dc7e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d2c1e4c000b66200495bee0a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13019", + "reference_set": "precal", + "selector_sha256": "bfb7f0f2a4bbfe0c5dfcda9ebfd3952c87ed25fcdb702136b9e06588bb72f8b9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e970df2eb316e2d28e88027f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:baaf6ca93708c030f38f6f11" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13021", + "reference_set": "precal", + "selector_sha256": "77e4ea18ba8c4cc49d3c55b7684bfbf93eaa868a0c8943838b624b2d4c3fc286", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:82687547c5bc5bf7540b3345" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f4fa64095aff80298ea8594b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13023", + "reference_set": "precal", + "selector_sha256": "514e81505d0b5e94f15087a5052680da5060170df32fb50dbc94cb32f32d7d46", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ca77ba8aa9abe7613d7e5161" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ce3ea8232a1766548edb5f51" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13025", + "reference_set": "precal", + "selector_sha256": "fbcc5a5b9f1ff79917ecdae9e82c035fc410cea9a766361dc236a09cef55ab8e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:642c3432f8266c0e6c4bb1fc" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:49e086381f2edc8072e1ba34" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13029", + "reference_set": "precal", + "selector_sha256": "57b8f9823a6aba002ed417077d427334cacfa656d72bb1c1b90cbe0259ac98c4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:09dcc9eb78ffda3711909c89" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:25e1f88ec8ee0e8c3951c0a7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13031", + "reference_set": "precal", + "selector_sha256": "2d0da4a75ef728c002f0bd0526d5acf02d827eb22f4ea6ea0fb77be4b8b1dc4f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:393be545013ee65506482cd9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:92d5cab4536fbdd14238a944" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13035", + "reference_set": "precal", + "selector_sha256": "c731871cbf5206228b09e34c010d2ba9186cf38e6e126eaae781da1745166424", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a6d46ee43c52f46a7f24d9a3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3107a75f5078e6020110b2a4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13036", + "reference_set": "precal", + "selector_sha256": "068470b49a8ed74d41133d349020126355ace88842cbc6e2d21376f40f83e12f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ae24c11949f28849171412a2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c408189ef55f9da596869c8c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13037", + "reference_set": "precal", + "selector_sha256": "d0e22aebb36fb1ae47337c6b3efe79d9e1cacabd3caf742c49197691684392fa", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:863eee0a9aa6bb0806246b76" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:864294423528956ed5c8688c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13040", + "reference_set": "precal", + "selector_sha256": "fff9a7ed60c6daf14d795e851a07548c2d70d1e5f3b8fbb394dc28138f29df56", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f0b61d7c8f0223ff32d5a082" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5eaba42ca7ffe29c25c7309d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13044", + "reference_set": "precal", + "selector_sha256": "e571c5700e4cb15b906d22eb16202d279bb6f875193e9402c865f7d02d7a1fb9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:53afa95554353d0f64f4225b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:975fff1cc985958a2a6b2613" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13046", + "reference_set": "precal", + "selector_sha256": "f1466b6225835949c1f3ca78b5de10564b3a292fff0451ed83807a5c3f1a7552", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ac792f7c1625c5e811d91ed9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e9299e62985abe8dc3dc623b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13049", + "reference_set": "precal", + "selector_sha256": "99b26eece101a37f48c9cb63e1ae1a15e524907f7840474d38e0e34899ea3418", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:60dc283e6f738559c881494e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:48f377198de64aadf0b2ac9e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis13053", + "reference_set": "precal", + "selector_sha256": "52de71d4e240b9de925d8f7ec663ec554d1a92215c897ee33ff9fb881f8649ff", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7bf8c05501cd74064bd8ebf0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:deb471d6e175881b2ffc1fc2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21001", + "reference_set": "precal", + "selector_sha256": "47d8e62afa838e3419d51fedc05f20b4e60d317d67ef4ee43cb2a4e680f3e08b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2d585c928c6696cb65cf6d3d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fecc2852d45a6252c16b7cd9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21002", + "reference_set": "precal", + "selector_sha256": "bb62337aaf2860082a28630c4b830e22c6b3471a57bd9380389509fe95b161fc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3f43ac05a99a9609571acfba" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:51265bf4b22ccd649b9f946b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21003", + "reference_set": "precal", + "selector_sha256": "c794e88a1fdf740fd313fa1efa67dce3a7b16e66032b04f8cbc8b2aaa7615754", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6e99159281cb445de87f5e53" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b3ed4b37ca507751861f344a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21004", + "reference_set": "precal", + "selector_sha256": "fdee38f2a4a82d79dae377d5fe0a107f2d7f514fb3254de0c929e34b8ab73a97", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:adf7b902d17a732ffd39714a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8aa77f63b43173079a3049ad" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21005", + "reference_set": "precal", + "selector_sha256": "9ca3a51791acd444f8522633c32c0a5bb6a759124c8b8d11059702eb265fc361", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5a36c085c3b65b1b35557485" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c362e566e2023fb414c81359" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21006", + "reference_set": "precal", + "selector_sha256": "adf5ba82df01e7c48d92ad44ac5a107e04d964057ffebdc5376a52c2b690db4b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3808bccd2c24287170bb73f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5ed60cc319a1b7e044db7ffb" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21007", + "reference_set": "precal", + "selector_sha256": "c43914f241555336a798e8a979e5918dbff3e1fffa618eebc0a58f1bd671b401", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c171cf681cdd918c0094f7f2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8842629954358fbc44786484" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21008", + "reference_set": "precal", + "selector_sha256": "1d9d40b132bc956b0b922323e3e6f85b726e6658f931496e8d4706108067e153", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f56398ca97e85fb7580fa156" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:41da97d51a1f5be5d3d174dd" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21009", + "reference_set": "precal", + "selector_sha256": "cf46de5c230861cb8b2548af77d3e9ea003587e667090abbc2c77665532efc89", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a4db8707f90bf0273197bd4b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ed3bfae7d102c26b67248f33" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21010", + "reference_set": "precal", + "selector_sha256": "9f19d9aaf904b0e0e4751b2522fe12fae9c8c64536ae68a426f3f75fefa95c50", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1ec9cff646c9328e12b5c444" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6829de9858baedc2ac6d2a58" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21011", + "reference_set": "precal", + "selector_sha256": "fcdec48a1b10b42633dd18318463278203965a95a9ba0632cdf510584b07c676", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:58c68d409718ade65e5b8621" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2c1709edb84e75884383dc92" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21012", + "reference_set": "precal", + "selector_sha256": "3898a6f0b0a18572c8f153ddf7b3c333bb72b74f8cc2699b445e60310a627b0e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:578c2849c6e5d57df35d1952" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:55c511f6287ff572c41b78b9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21013", + "reference_set": "precal", + "selector_sha256": "9abeed7fe460e773d0ea22b764618d87efee3905972bba3dc672592b0bdc00f8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a620c03e1210238fc29ea577" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bbd88d07c22e33b072ccbec7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21014", + "reference_set": "precal", + "selector_sha256": "d60fb5c8e51b0f48c2f265fa37f9d753e71b04428e0105e8e1576274c43fcd7d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cfc0334c4613fff27bf2b99e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4fea7bda7261e2bdd9eb4755" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21015", + "reference_set": "precal", + "selector_sha256": "b4c2192a20bc59346c3112811680bff6aba03b3248283a82a2274c5e97a648da", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:077ba5c4a856618fbd129319" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:512b66d9aa7df2d5eedca228" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21016", + "reference_set": "precal", + "selector_sha256": "e2d7d4030dc035766853fb3303bb8b03e34fc7c72a37141040b688522b39d882", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f009d8f5cf42298920f4e918" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1671baf50bec38668f206a95" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21017", + "reference_set": "precal", + "selector_sha256": "f4296d8e4c7a050c1bff4f41cc37e32a219684a3d132548721a3d29cb3385740", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b004cdb8f5a52eed4181d751" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c64541b64e251b6f0df59c6b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21018", + "reference_set": "precal", + "selector_sha256": "b7b1939a462da0bd6fe9a86476ea34ed0310e9b420ee93ab7cfd1299a5849d08", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a3cc2395a22bf1bf75d5461f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:57b73f7eb35518f5fb362ba3" + } + ] + }, + { + "name": "statbel_population_by_commune__nis21019", + "reference_set": "precal", + "selector_sha256": "449c8f39513ad481154aa6f20e2301a7e2f05841e82a54766bebaa175e50aa2d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:57f326ae5e8333f987bca517" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:93fea638fd0c78ed071e5c1e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23002", + "reference_set": "precal", + "selector_sha256": "1db102e118425fce6b227d4e18d7153336f47900e6914450640923bc103f456a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:02c1aeb6508aef38296abc03" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5a169a92925d733b32eb2335" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23003", + "reference_set": "precal", + "selector_sha256": "e465195fa21ccecb9c766d908a831f18e56ad7ddef1202d484a29bcc721f7549", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e75560176e8ac1c5c90d408a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:70246551079a43904e810cef" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23009", + "reference_set": "precal", + "selector_sha256": "f5804e195032c5ad8ce2fb50b83bd8beedaa1b48e6e76de14ffcac6547298a53", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9e015382188dad2766ee592a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ec0b9f8e63450a81b5b52b78" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23016", + "reference_set": "precal", + "selector_sha256": "a7d7890aef601dd5a6987b2ae1d5b29e3f386e618b2a2dafd8092002ef013dbb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:970a1a96b78bcc18fccc82d7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6b7a3cf3699fb7dea30facda" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23025", + "reference_set": "precal", + "selector_sha256": "286848aea88fa1578004c0f111184a9187e7180c1d1e93ecc88a5664b80c3a48", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9de1f68743a33ca0db77c515" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e1ad39ac42907e07385ce8b3" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23027", + "reference_set": "precal", + "selector_sha256": "2b3d568fdd7ee588b8ca66e78829acc43124aaf26754ce84b4c02ba311cbdf02", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:73afc64d64f10b8a9c72a237" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dc98104e91fe5dec9f4faad5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23033", + "reference_set": "precal", + "selector_sha256": "e770e080c66e5a4747c372db8a0e777b253f442f0baf8abb0082f0ca8cce7ee0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7a4b98bbe9e8d2cb634f2729" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1b15e3b95c368382b4cd0d1a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23038", + "reference_set": "precal", + "selector_sha256": "4f632da96d4bf9ce49c9ccfa926ef59f1798c5f52728455419d11cfa33f9276c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5715b8c9c20c8b08f6082a70" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:072861c83f9d142312099318" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23039", + "reference_set": "precal", + "selector_sha256": "792c76d9250194295ba87c42ef23670d38c5bbd91a261afb123aab3eba4202dd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:95941c49512c441b7babd917" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:547456ac6fb7307995fdf338" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23044", + "reference_set": "precal", + "selector_sha256": "fdc87fad38f4864b0bf8b847beae11e5e3d00364d468e5264fe2b0d1fe25dc3a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:291cfd1f0a5d12d9b770ab5c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b19fe3e8763d014f17f91709" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23045", + "reference_set": "precal", + "selector_sha256": "d50c67b7ecf5aa066a7f1775029ef0061c2c1e0adee6affeb4064b99ff11b990", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:16f1dd1eabeb3286a9982a6b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1c29edf26e20ae7cae507404" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23047", + "reference_set": "precal", + "selector_sha256": "417bc68c129ac9a69751f40864b4e588f0ef760b8895e25f8d255e433cd3a7b8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f182c3ab8fed8e6f1159af9e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9a19d65659874887576ea6f2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23050", + "reference_set": "precal", + "selector_sha256": "ff0a2d5f7ee16a632b89b842007f49c155cde26eb1dc6caec22ab6e7aa500d7d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e8f3d37e28ee7624546f5e22" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:89a2f44be8f86c2bf4e7b587" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23052", + "reference_set": "precal", + "selector_sha256": "31935e5e1453455643b0114343498b696e0b1bbf7a269868cfcd2c3cee77feaa", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e78d274c0e47771e4e2afe57" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a96d57efb33fe621b1652e5b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23060", + "reference_set": "precal", + "selector_sha256": "985288fd9e89cd708c9c667d44508d5f9c48170f81adfafa8b79b2c1b8e839ad", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d524ba967a61f8e5a54f8286" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8423c7329adf50cbe7f9178d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23062", + "reference_set": "precal", + "selector_sha256": "16fba6fb365d7530f21d8682c8cc8f00bfa553312a46bc4ba8d5095e43c04135", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b4adae8fc9a3ee1fa5e48b48" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c530617e18069f98ef8328b4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23064", + "reference_set": "precal", + "selector_sha256": "6da5567a012688d0fdc6d7dc92157819a9ad1ac2b562cc0b3baf17bda1b60729", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:572d29e3571b2e58f5556140" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c0195934ab9b4055cb37c980" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23077", + "reference_set": "precal", + "selector_sha256": "2982ffef6b0f73667b5f65ec43369843ce8623f77d1a381341f3236acf22da14", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:12be6c01c2cdfc615bc5d205" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bb5c17ca2ada8574dc76e9b8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23081", + "reference_set": "precal", + "selector_sha256": "da62330f93c5cc2e049d56bab9df6850d307ab4d8aa30d97d21f63f7c1d4d26b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8af66f6157bcf18c053e1e4a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e1b02178b4bddfd59dc422c2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23086", + "reference_set": "precal", + "selector_sha256": "4a2223c6d1e00f605d17862c7e4258520e8f7270f10e66477162cc5e12b53952", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1a2b031fdeb2934d15aa6f7b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bb81330edfa912fa651dd0ce" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23088", + "reference_set": "precal", + "selector_sha256": "f91df689598dec3706290de4cb3de24f56b6f084f1b922de53d1e3203dd978d4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c85647316d9575e13c411a88" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:05d954d5eba40f94e9b2cf52" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23094", + "reference_set": "precal", + "selector_sha256": "17aa3e85014691c19f03ab28a1285d43a6cc4b5cfc409997cc0a1cccc9f0baf4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:116e3846d00d39960b117565" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:500791b1b8afac6b230b4619" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23096", + "reference_set": "precal", + "selector_sha256": "0bf8093c989e78696e3213f1f1a6d49e30ffe90f56aa7c515dc246bd4f124720", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:096812daecac9db839c86645" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:604d31dc2918413617aa067b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23097", + "reference_set": "precal", + "selector_sha256": "ce8ce84f4c7d68ea008fec3134ebc7ce96789c5271d919f551bf56a7e0998ca5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b0b0b218246bbfe80e389c90" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:42418dac9138dd86848452ed" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23098", + "reference_set": "precal", + "selector_sha256": "69862e0403941c898149546831278d0180d36950fe5916b4524f8d34a744b172", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b485b6097f35bea80cb9eded" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:458b4c7cc25f94179cf1c70d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23099", + "reference_set": "precal", + "selector_sha256": "a23909833413502d7107a017a2395135b27c202c426fcaa29989ba4622f4b8d1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:afbb509d195f11a46cc1eabe" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:91745a357c3f8ac3d2e85367" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23100", + "reference_set": "precal", + "selector_sha256": "8191c5ce7c37ba758bac403c89eb2b66deb04623bf0a29ff88e475b02b6e7bc8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d6125bb7906437bb79468dc9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bac755370257d464e06e52f4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23101", + "reference_set": "precal", + "selector_sha256": "caa53fbd0b0fd14c4d3f2724d91a9356c95c9efc1bf194d5a0318ef2cf05573b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2f2606e0a0ca8623b310a11d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2eb19cf4a72b21a12b1ca9ce" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23102", + "reference_set": "precal", + "selector_sha256": "390b7752553f97f4cae028571511057e66f63e9e8ff32497d1b690cc75f5174b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:635c096e4510fe3c5bdae1d0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:70ea2bec229af0c649d923d5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23103", + "reference_set": "precal", + "selector_sha256": "65f9c7be2ba2679b228e1adc2c22da4e2bf34080d077824ee48c10a25ad87193", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b8a91ff7e1228d95aa6946a8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:db3c77ff47f1836e22ea3cb5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23104", + "reference_set": "precal", + "selector_sha256": "313641f58823c67bb5a6b48039ff48cd2e7dfeb53ca1a479b08ac311ee77f38d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f8f0ed336fdae18d38f46e12" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:42be418066bd0d9bfc5ee92a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23105", + "reference_set": "precal", + "selector_sha256": "d2596994776873f208bfcc40b6ea0a9cc41e13b0646703ddc6d77bdb58323b7c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d43b7fb8f155532e880d2681" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7a687db475bbbafdb64f6e27" + } + ] + }, + { + "name": "statbel_population_by_commune__nis23106", + "reference_set": "precal", + "selector_sha256": "264c40a8ebe8f82706c249185fbdfbd5edb0ac3d7ddecc6d9b56fe5e0c840cfe", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:07e05bf61687b9f6e64c2d40" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ef7acf64a6b03541b9e0bf39" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24001", + "reference_set": "precal", + "selector_sha256": "7977af90d6a30a19a4c0d565ad28851a6a26fe20c9ea9868d4ddc609bc4722cb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:290808a46e8999400f54aab3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e8ba328407a65deddb11a2cd" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24007", + "reference_set": "precal", + "selector_sha256": "88710a2a7552b08ac20def8a3cccbabeb91f0e600a09cec4237384d6a37b69c6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fd5c031595c6d661568c9dbb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5b45921e880490efbadccf31" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24008", + "reference_set": "precal", + "selector_sha256": "4f2adcc4d2463506d01e71dae3ab892aa592b8828e19527759eb836ea41db484", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e249a927c38fee8d6c75f8bf" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f2ee2c61f9360bf4b1bf8798" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24009", + "reference_set": "precal", + "selector_sha256": "569db6fbfa55782bb8e7efc614cbcdeae9413209b5b292bd141827d0f985c63a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1a77532e81eb73a7ed431e3b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:87bedafeea95e5d493bf9a4a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24011", + "reference_set": "precal", + "selector_sha256": "b749c616fbec5e2ab26ecfeaeff7611d4bb1cc052e39db0cdfde8fa438dc63f2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d80184141938f21025028433" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:45f9c66b3bcb4cff1364f605" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24014", + "reference_set": "precal", + "selector_sha256": "6d048006590441854d2be3b349b06c47e9c0be1bcf41d923bef93ced48a55604", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:da4194053a9e4a44a860c29e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:feef3f04b6c41b8e78906c65" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24016", + "reference_set": "precal", + "selector_sha256": "d0de7986d9c378d2aaeef8c707b9f64bca8e174163afe60c42d2bd81740969d2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:091ec51e72a5cca51f049011" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bc4c097e7fbbf942a38f8087" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24020", + "reference_set": "precal", + "selector_sha256": "07dd2a60c6d456a862ec2c1e195652e552a339f373e08c5e2486fab184e2e3f1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d1f49a680fe37f043bbece67" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f60a77e416edee865324f80e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24028", + "reference_set": "precal", + "selector_sha256": "f124a7f986c8e5ff20d6f0752cc4c99c48699f61c86d7740c6f93fad5f06d07f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:89b39f4fa8557888916cceee" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d525019d3b4fd011190898f8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24033", + "reference_set": "precal", + "selector_sha256": "ff9f151267e1a718098d2d1fac6873ec4b35f523b1ac824b5157e01ad57064e4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb62bce1f8914f706da3b183" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:052eb2f4b7670717ad5aaa32" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24038", + "reference_set": "precal", + "selector_sha256": "df1b56a8696b30fa94cfc5266d510b6d86b3f9589ceb5c56dbd954480ad2e084", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:13f22d7994295b96ffc30f56" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:82ca96559b93ba3e31494f13" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24041", + "reference_set": "precal", + "selector_sha256": "1aa93a51ef1d20d9df77b5f5c70c17dba93e2f684e6edb10c6b93c027ac423ad", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e45ee3be9062000e6d950e1d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5ddad8fd8dc2d010cb77f756" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24043", + "reference_set": "precal", + "selector_sha256": "7710028986fb58553f5a3757976643d1c5d15ff45b032d1168bf35db807e9cff", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5062d5a85793a70a5b192900" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bdd9f09d5e56a222310c9573" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24045", + "reference_set": "precal", + "selector_sha256": "c122b49e5b8f087bbd8dbda861e65170bd1f8ce888640610f910767a90db1bfd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b8619b2d24950bdceeee0424" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b449b8e18b5f5d8f3a1d6785" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24048", + "reference_set": "precal", + "selector_sha256": "9df3ca3b2923e5fc8a61aa15bc02af9f0390edcd35017ff99f0d8a9bcd3a0567", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d23d36208473375a7fb52346" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4da924647b39164378843def" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24054", + "reference_set": "precal", + "selector_sha256": "73495bca2021c9963375f30673dce0d59e5b17d03b4825fa2f4bd7ce0f94c41b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9ab941b3590c212a66860819" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:be526bd0ba47819e9b2ff61f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24055", + "reference_set": "precal", + "selector_sha256": "6eb055d53ec717dfc4895e8c9bdf1b55b38953dcb7d02b1d1a9b01cfb9af2433", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e8c377b535343776637202e0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:cd08c68c36e6111780462fd9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24059", + "reference_set": "precal", + "selector_sha256": "be742ecd4a3be8addb659726f213b7fe9d0b21b06ae309512790164938d68cfc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:26cf5378797afaf309171c5c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d0b3aaa4086f328879365e7f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24062", + "reference_set": "precal", + "selector_sha256": "ec5ee364ab2b14454a1b703800c8524da9dd44a261474013b7842a38c60d813b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c52e23bc2d1635535b376d7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e4350f0d7b52882cc3c074fd" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24066", + "reference_set": "precal", + "selector_sha256": "7d9e53a3012cc7ea5b9acd593fe0831958f35f8e164aa6802a01ca135af91353", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ca901229dcbdae0e16ab21a6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1b5bad39bf5e1ba17227a90c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24086", + "reference_set": "precal", + "selector_sha256": "242b8a047ff26e2d6a4bc20c7104349638e84b8d90547ea1df34413f40f117b2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2f74e9b6d9cac9dbfd06074c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b53ad760f274dab86e95316b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24094", + "reference_set": "precal", + "selector_sha256": "98a7a94b443b7631de5c23b5c1f235b332c92afc2e8f307c253878efc2643593", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1342d25ec822fa3106c55a3b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b3dcfc4f6cad92d90c48f89f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24104", + "reference_set": "precal", + "selector_sha256": "af9ce266d5355ae2260027dff0c75bcc53bdcc7ba74cff8f08e43fedeba54604", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0fb71fb9ea3220dc1494a60b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:89faae3147a861ff8b4c36e8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24107", + "reference_set": "precal", + "selector_sha256": "160d20c8c31681fd5c09e360fcb2bb39c8ab72212cdf08eeebd2dd75ba1e26ee", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:12577df5cd35c0225611600c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6cfe3bf33528d237b4fb6ee0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24109", + "reference_set": "precal", + "selector_sha256": "2f1f9cb922f618c6643bee3e37364acd4897032efb9bbf55f415824a8263e99f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d9eb1bd176b99b7b436b714d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b2520413605d96f35a37011e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24130", + "reference_set": "precal", + "selector_sha256": "096d47bbaec0456aeee03d95ce0788e278b2b30122a0c351e5d13741d9e14193", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:50fd2f56481894f5c90003b5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7084e6b798742eee101d19be" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24133", + "reference_set": "precal", + "selector_sha256": "baebba6b252a49cdd28805bb02bbc2b15da8b4b8112fd7b53890124d0a32fab9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8aab0f9a8df63239d7acf3ce" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0af93f30813befa2024c97fe" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24134", + "reference_set": "precal", + "selector_sha256": "90a4b056468edba37d50f445b4a7d462435d06bff6f2246b6b83e4b2414ac89a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:268aacfea79d3a3eb1f8a5c8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9e35549c07d2198c8b4deeb8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24135", + "reference_set": "precal", + "selector_sha256": "38ca65bbe381e85a02d658f3b7226089b0000d0a130edc9e1a1a893468936d1e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:47e59b4a9a9564549ed47e75" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:be5b58116df1f47a6090a723" + } + ] + }, + { + "name": "statbel_population_by_commune__nis24137", + "reference_set": "precal", + "selector_sha256": "6c84aa82a4a0ed6184e739aa868150fc4400acf8bd9854320b3e4099e709eb87", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3887d0558525c60dbcbdaa20" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8466c1d0fb080e1b2f513c63" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25005", + "reference_set": "precal", + "selector_sha256": "8ad2e593ec27d4eeb43eb21f44488c19d4372ef06978e75d58e1664d687144c8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e52d8a343ddab1232a07c549" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8a28af3d618ea3308f108306" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25014", + "reference_set": "precal", + "selector_sha256": "05af2334134ee4ce49012f13d27e74a8639e489b1622a6c2cf70c6b19caf56d5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b473d7c2a7a71da986c91b3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:40cfabc9244b46ff0130ef8c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25015", + "reference_set": "precal", + "selector_sha256": "0700a0f414cbea2bffb2268697aa31c9df6bdd4f2298791ff19226fbebbf1216", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b339942f67186cdea703e09a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7d3049da8363376f19b207b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25018", + "reference_set": "precal", + "selector_sha256": "e87495438d98d69976d499ef2cca2d8efbb42ae0ca69826e80a326ab462c6cdc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3eabea0848677203edc9d746" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:580374fed917088f9977ee7e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25023", + "reference_set": "precal", + "selector_sha256": "bf1ef77ced25e88944fe081bd78979400beb82b0b0913d5cb951ae16213827f9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e373a069c5f86a3d61d7b414" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:cc4610c15447b4c435e472ef" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25031", + "reference_set": "precal", + "selector_sha256": "00ba5a06ced0f396045ad0e286fe0422add4640820544de4ef1bc19d96b491bd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ba2160017a20db3fb9137464" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bda9c9e7c6b6e2370f5c0f3a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25037", + "reference_set": "precal", + "selector_sha256": "be78ac452a525b99819be081d55cac80f832ed28bc46f46891c59671c7bdabf5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:456c70c431866c3a567fa257" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c321c02393b774e34b4f5dc5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25043", + "reference_set": "precal", + "selector_sha256": "fdf8b33b2fa5c70033be33fa3e255599217ef465786a9e74602f6fc53343a601", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8c4b80d36f74eac641e90ae5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:cfad89b03a38c597b015ef3c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25044", + "reference_set": "precal", + "selector_sha256": "4df50bca478365eabd4378d6397c439b36317192da57956d8df2ff8e949f955e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e1bb3cf4855649ba39a06da7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:74fa0617c0e8386bfc9bbc5f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25048", + "reference_set": "precal", + "selector_sha256": "bb8eace76e7be78ffdfde7bf801f591ddf031266620336063ded505fefaee454", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:52baae60ec2e139d8ec81f95" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ddbf6a1e491bb8f468034726" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25050", + "reference_set": "precal", + "selector_sha256": "9f9bd7742ae80367417cab17b22a993da6c64884c2eafcd0837a6071ac96ced3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a5a678e6289a085bb67cad7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:02f05318a822faa64d945135" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25068", + "reference_set": "precal", + "selector_sha256": "02c3cc69138b4559450d6a4eef7f621721473745a69ca5363267380a040bbd8b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a3feb759a6a807fac70c7646" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2567246b3c456eaa89821e0e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25072", + "reference_set": "precal", + "selector_sha256": "634f1744e22d60350e90a86b4aeefeb8dcac49d45378a20ad01f95c6fc9909ff", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:59b1eed7d57188acdf4afa9b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f8ed54d2190bce4b8dbc7943" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25084", + "reference_set": "precal", + "selector_sha256": "3617b249dfcfee2f4890944584f6b3f538f4ccd572b3ecbd0bbaaace65cb5fc6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7d9aec4fd75b824cc3512fd1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ec1b34d8dcfb1f670cdef961" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25091", + "reference_set": "precal", + "selector_sha256": "758db8d028d3d39e6e5f3ad743098d8b0616aeb87a2fa305ca31fa4bb0f55cec", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ca47c1515d58c7d9fcc38878" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:15fa0cc6fe50073c76818487" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25105", + "reference_set": "precal", + "selector_sha256": "cd54943d1abb57b827810c7f89998193d3819833445b01765ed36ef67de4ccff", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c6bc9ca977b955098f6b1cf" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bb765fd590520555d1509de3" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25107", + "reference_set": "precal", + "selector_sha256": "636db55b1dc68dcd30ff4c9df15fb679407e038ef5943f77e83ea3f483fab70b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6153710f9b421ecb3ae6064f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:27498f75ba8b5804ada026d1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25110", + "reference_set": "precal", + "selector_sha256": "38ed16fee6c8ee638bebc2dd60e8ce16a5254939e414a0db05b66184f14e37da", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c5fc63e0cd8fe4acf4b15557" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4c5b382d0bf93bea516de54a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25112", + "reference_set": "precal", + "selector_sha256": "ed4648c3d2397d89bd4f670510fd80a607c2812c9ef35dc8d67d8c0aa8a57411", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0fd2c9fc072ff6bfa4343beb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6f9d8520b4183ee37251b4fc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25117", + "reference_set": "precal", + "selector_sha256": "2fc157b886aacd0dbd1b401df671e1a5227798bc64cf7b115d805508f163c52b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:31db1f7056602c80bf0d00af" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:01f09280fdf917c136e0e158" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25118", + "reference_set": "precal", + "selector_sha256": "7d2ff663cd6e957d8e512c73e5f957ebcbe3e541512199ff7ab8fadaf8f7d9fd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e15715df9512ef12e5a303cf" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9772ab34e8195a8f05323d15" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25119", + "reference_set": "precal", + "selector_sha256": "d21b25f9bac747abedc4f404b2e9a3509524546dfb6a40de6ba9593b9e135469", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1391c6d2072df22995b58062" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ef79da8f3ef8b62eba5e70c4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25120", + "reference_set": "precal", + "selector_sha256": "9d2c75d7d89001c7c9d6b36cf30a128624145dbf9e3056edf038b20ac26f0b0d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e205087c16bdd6d8a050f719" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:234f2c27b1df1376e5e0a601" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25121", + "reference_set": "precal", + "selector_sha256": "92043d64205a8e058bfcef718ec8e45754a5b115a0f29c76dd3c5078cb239380", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa8126693f6a4a618b5e675b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d1c085e2da812ced87e2a4a0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25122", + "reference_set": "precal", + "selector_sha256": "8aeb844baeb808e92ccc4c46eefff24fa8e2ebcb45ec4119fe4cedad03b13d82", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:325747d2ab4f680fcb14fe2c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:13f6c2052283061e637bf952" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25123", + "reference_set": "precal", + "selector_sha256": "08f0272805cd11b2229e5b2fe1e063cc5c5ab6898ce522342bbf2a9396ab84c3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2013a6adbb90eef840a8000e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0a3e607f7c7a534282919405" + } + ] + }, + { + "name": "statbel_population_by_commune__nis25124", + "reference_set": "precal", + "selector_sha256": "ddb394621f9ed750f9b82b15426cf80aa7e9fe4a1ee24e62c2c7d42419d246a8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5c4a05b60564aa3c66296e73" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:75a6b6ed5c12a636ac998d0c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31003", + "reference_set": "precal", + "selector_sha256": "81a301247a0817b9259664ddae0fb0051d59ea70af2bb5927fdc5ef0d89241d0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5656ddcab84e4399b2294164" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:26ac209ff055f355f17fd8ba" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31004", + "reference_set": "precal", + "selector_sha256": "56ec21a40235f6c646b3b0ca5c06eea945b14dd2d192c8e1070452b76d0467ba", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f305f40fd233d1710a9d7c12" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b44c1f2a0ed5cdb0ef787455" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31005", + "reference_set": "precal", + "selector_sha256": "1183097b2cbce97f5ad1ca4d4f0fa92bab89f1720d2034d37660b82fa50a74e3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c59e7f8128efd9c9531cd0f1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d7f8406d772ab8eb4c33ea23" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31006", + "reference_set": "precal", + "selector_sha256": "41ab6b34a921c5cea3763a74163b44cbd877ff1b7d2d7afe02f4156bc10c196f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3558a5de469ce985206c6da1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:28b008c646a435e63d146c73" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31012", + "reference_set": "precal", + "selector_sha256": "8eb861580ada1aeb72ce415b66127f9cb60bdbe67ffd2a18ceb253d67d1f4063", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:07e45fc4a9e39b152c2c1400" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:54f522568532e7a66826b81b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31022", + "reference_set": "precal", + "selector_sha256": "3a3f2546279f0f2a6d21db7224981ff232221321ffb585909df3f96e24652d01", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a8df469042b32e93e27eef51" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7b299c230253eb77931afcf8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31033", + "reference_set": "precal", + "selector_sha256": "91f249ae296642ed10d537c6db9eb84de3735529d93b5f26e5d242a241529d22", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ebc2e1d40b1ee6f7812ebd58" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bb7c6c5e57344f63bb09a522" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31040", + "reference_set": "precal", + "selector_sha256": "858a4a5cd96194208837c2161de697fb4a48f539160b2bb4466d190ab7154626", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b8e2a6eb01ca96b67a8179f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:62b208267a55b5a123333243" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31042", + "reference_set": "precal", + "selector_sha256": "863e49e013e6b871c79de03501e2fec0380d46b67ab2ab06a4b1a987213f999e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:88becf36b166c7b1ab0414bf" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b344422207eb182aeed0e751" + } + ] + }, + { + "name": "statbel_population_by_commune__nis31043", + "reference_set": "precal", + "selector_sha256": "49258110e3a6f968f5999c4d02aa171bbac6d9ac1d59aac3eb6e2f313098c615", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:505c9a6337f1a369dcad0459" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:77307cc98fe86ccb6c598389" + } + ] + }, + { + "name": "statbel_population_by_commune__nis32003", + "reference_set": "precal", + "selector_sha256": "149be4dc7cfd7034c8aefbfe886ef8adeec75508d9aad7b29d49025e4a19f0fd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1d700fb0ea693fa46d47aa57" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f5be88b48d7c6e5105ffdda3" + } + ] + }, + { + "name": "statbel_population_by_commune__nis32006", + "reference_set": "precal", + "selector_sha256": "e0d5da08d028d504652e08fa9496f94869ce9e18c8dc69446f169e24aa9ae52b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:22948739fc10b5f6f408ad49" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:215623be38c77cea73759cca" + } + ] + }, + { + "name": "statbel_population_by_commune__nis32010", + "reference_set": "precal", + "selector_sha256": "e9ac5ffcf36d93088382f21f05b5362ad6bc06eef75b3ec74bac769eccf7232d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3af80a5f50bc791bd5c33d34" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ca31f155a94f0c614c34f0fe" + } + ] + }, + { + "name": "statbel_population_by_commune__nis32011", + "reference_set": "precal", + "selector_sha256": "88b3da1e5bb035df8adc2e689da680f83853f210918ce059316afd179e934f9e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:389437292e1107c3affc44ef" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d622c655553389543ca85380" + } + ] + }, + { + "name": "statbel_population_by_commune__nis32030", + "reference_set": "precal", + "selector_sha256": "d643e33ec7b953037c54098e8eb4c374af2f2ac57855bf77aab1f44df135ec6c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:54612aec68ccf491eb6aef71" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2f900b7f941f28fbb9cf699b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis33011", + "reference_set": "precal", + "selector_sha256": "ee7046b4f332c7754f0b7a93b262e9f32f5f6d414df9f10358eaeb90859c7c8a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8b55584ce01e614800f12838" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c8c259d76fa443b15bc412f9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis33016", + "reference_set": "precal", + "selector_sha256": "942bc4120093bdfb04bc4f5bf6a357e9d3e7f6899e4233cc91d865c826100652", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b9c907234f1d0a01636d879a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8bbd45d0e57faec6add4d329" + } + ] + }, + { + "name": "statbel_population_by_commune__nis33021", + "reference_set": "precal", + "selector_sha256": "3cecaebad774e73572b8a67faabb3d8a9ee0254d6b9a207f053b6876703e2c9a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1bea80785821aeb284f0a1ed" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dab502e5a57fc4458013615e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis33029", + "reference_set": "precal", + "selector_sha256": "49ac02a1f75be3a072cbbe76a519f5bbc05df7ab96f95ae203e15777b42e73ea", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5557be004e3f31ded58471f2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:350929a0491a07fc2e201a7a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis33037", + "reference_set": "precal", + "selector_sha256": "780880f57f0eea25f29e751ac876a023d6fcf7cc5ae81dc5e0229c42b8ddac9c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a603254f4e7ec5e2bd481808" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2f03563c59ab87506c7b49c1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis33039", + "reference_set": "precal", + "selector_sha256": "cc4aa93c22cf30cc1c88241d1e95ebecb4d87c723c1880e8a1bb494f2989e999", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b63f30e14a847c0fdf2282a5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a775fa8a2b165a54aa5bd1b9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis33040", + "reference_set": "precal", + "selector_sha256": "a4ba0c12a92081a937ccf5ec5abeb9d00194d05b976363a1721bb8474a31d0a8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b6ca7ef35b01024fc398e0f0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:264a7b8e12b3079278e05704" + } + ] + }, + { + "name": "statbel_population_by_commune__nis33041", + "reference_set": "precal", + "selector_sha256": "f278029e98c93b303e9b3e1ad3ad6bdf62bb5f748e3b050d3664229d6b977718", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c938b07a350705e840ef1e04" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0639fccc504190b6722899d1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34002", + "reference_set": "precal", + "selector_sha256": "15500271da0ad00742074c8e42f0b7eeb7391cbac84f89b5c74061b6b6d54e83", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f78584ab1b3d0ff2875df595" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2a0bbde7faf5c40e8bbb3b9b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34003", + "reference_set": "precal", + "selector_sha256": "13cb70408bdda6d647a60bc648b34f093f35d97ee0f727c2d1ba1a03627ff5da", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:992b23de736973ea54d23672" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dad8dbcda6a9e22c65ca3c56" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34009", + "reference_set": "precal", + "selector_sha256": "54b5ac136516d178cfe13ddd71a72882be3742d2768f729ed0acaad22b18e607", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:785a7e5be8511159ce8f5327" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b02ca9098db83cd67b30a257" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34013", + "reference_set": "precal", + "selector_sha256": "86e463ef7022392bd5a0b4d69184e2d1816e366852f892bf7561c4cb47a5ff3a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f59d3093630854766b360a4a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:acd94e7d54e89947d0ebdef5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34022", + "reference_set": "precal", + "selector_sha256": "745db556b550951c9cd794f19eb31b3a045197a5ec9714c7af2023c60981c80b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9354e84843441f338eea5f26" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0e62dd185a748f71d46ae8d0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34023", + "reference_set": "precal", + "selector_sha256": "eaadf1ad47920b31fa8f98fd718bd63885c8ce55e20c7a43af4f7ab7d714ef8a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:28fd6594f5f01500a678f085" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f88d2a77ae9fc8db122976f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34025", + "reference_set": "precal", + "selector_sha256": "47782a4b52417d6074b47408cb6b678a800676af9e2d28888dd7de129bf90590", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2bc23bb384ea5284fd5ef680" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7de16f6f3b092ab0da140e9f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34027", + "reference_set": "precal", + "selector_sha256": "c3ff70ef5642a745ee1814f7737ad9ac8b4184f666b943c9d64844ee4075ca79", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fb5322b8ee98143b3a2e33fa" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2b972c205fb009ec723586e8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34040", + "reference_set": "precal", + "selector_sha256": "ff30ac54e0fbdfb10ad683a1acf32052d6c421be6cfd87a2a8bd09e1cd9f683b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4fe29239f50ccaee44db1d53" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2ce7807d5f1ff69266ef93e6" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34041", + "reference_set": "precal", + "selector_sha256": "ec852a11dc54a8a0edadd83664bd5c91694016370081d515fd1077238682bab5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dc45910e0cadc87fea32ab41" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e96cfbbef1948b92e99193ef" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34042", + "reference_set": "precal", + "selector_sha256": "10256fdbd869c966f3102bd13988b699c7d4f8936935da9bee31f703fda6425e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b4ef4944132a0724b3b14ea" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0b4389f17419652204ef95e8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis34043", + "reference_set": "precal", + "selector_sha256": "30936beefec1f4f82b3ae60eb2a7f5a1f2ab6dc9253d22fa98121d4ace7132c6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:59fd239e1f23157fd1b572f4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4f728987918d89d02cc4c675" + } + ] + }, + { + "name": "statbel_population_by_commune__nis35002", + "reference_set": "precal", + "selector_sha256": "e1aecf33b307432a450357eeb044f6e9dcc4de62f236f5d4eff9796728dc919f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c7ff4efac840ccc6a7997132" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0da55ac0a37e93b2a717cdab" + } + ] + }, + { + "name": "statbel_population_by_commune__nis35005", + "reference_set": "precal", + "selector_sha256": "470630e54e40e6990aae929c80a9863d39004fca133169f2d07ba24cf3003b8f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cd6acddef8eed5ae41f63f7f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5b53da32b5198dd454219e2b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis35006", + "reference_set": "precal", + "selector_sha256": "883e975f307d330bc6b922077d3eb2613015f62148f7bb25499011ac0e775cbe", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1abe4c5e057cd25ad5b5ba52" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4cb88f3d1f9dfa287ac30da9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis35011", + "reference_set": "precal", + "selector_sha256": "dce446094ccf876b3e9e03a9a8545cc6d92409c80a457ad8ec7f3f0d0ecb71b8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:14d29994fa62c393f816f836" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a7249819faaccafbb945d082" + } + ] + }, + { + "name": "statbel_population_by_commune__nis35013", + "reference_set": "precal", + "selector_sha256": "415074441b9bd00add570f7f34252a006accf2b1bbe1d8dad20ace4ff4925f05", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9c8dd8eb0a7d27fadf5d1c6f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2c1c367763b5a04036114ca0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis35014", + "reference_set": "precal", + "selector_sha256": "3922a033ceabe5c6ea68875e259ab1e92d73c1d54c921539092a58fd70279cfe", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:046ec2ebdfccf665589a1850" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3c035566d4cb342981dddb87" + } + ] + }, + { + "name": "statbel_population_by_commune__nis35029", + "reference_set": "precal", + "selector_sha256": "16c2fdd4d124de23f3f7ab2d4002e0e3b5793351b173c3c0643c16aef5b098f6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:03d9fe6be1cfb0702bbaa9e1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:20ae2f3cdcb2f18348e9e5d9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis36006", + "reference_set": "precal", + "selector_sha256": "16669fc7bd7f6c456e60e1417a9fc0e6fe8e50ffbe96e701cfc9641d43100f81", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:146cf7da9d4d5f748aaec9a8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ea5db1731ba43dd425b38f73" + } + ] + }, + { + "name": "statbel_population_by_commune__nis36007", + "reference_set": "precal", + "selector_sha256": "3380139d02ad261e2b771f089cb8bfb9abda5f66d1122a0292dea6112b22a6e3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:38886fb03ae39b947d0513d0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:80aac6d5cdd1bece3285021d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis36008", + "reference_set": "precal", + "selector_sha256": "e4bd0ca59b507f18566a3a40315f6beaa1d392b636d6ac4642cf983c750d13ad", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7255722af56048d70280d7ba" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7f5cb20edb0d2b592c1f165d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis36010", + "reference_set": "precal", + "selector_sha256": "db3b84fa706ccd2459528347196c081ce84e5a9dd39737bfb567957664081611", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9f99d9c87db2ede8c72a2987" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:db88f889861066a15ef9db7f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis36011", + "reference_set": "precal", + "selector_sha256": "7cae2d1a1259f2340947ade8013b8061226b1c5331b8c731e0e5fa7429b9fd9f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ed7f11bfc025fc8456179b2f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:93065d10bd0f82686467ad13" + } + ] + }, + { + "name": "statbel_population_by_commune__nis36012", + "reference_set": "precal", + "selector_sha256": "a05ea5a9751803462a8dd1c0b63c7b6f2d3b99fcbec778c3e01b50066f3f74d8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:be9b1ebad9e6af5e14fd911e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5ea2829fc3dd66157b2c9dc1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis36015", + "reference_set": "precal", + "selector_sha256": "6b7fa27b57927adadef068d7ed6e3693039cd743f06766231b123857b6256569", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:58ed64598a0472e1fae40160" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e985af1f1da8cb7e20c9ba03" + } + ] + }, + { + "name": "statbel_population_by_commune__nis36019", + "reference_set": "precal", + "selector_sha256": "369537c9d236d0d8b5af32b17bafdc53f5628296a3eba136557ccf6caeb284b2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1f519b7b9492239efad45908" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f626b0726acb3bce1ce4df5a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis37002", + "reference_set": "precal", + "selector_sha256": "5dd97e72cf965c4b675d4f39d82bd517e87c45bbb78726a21edf2ef4354208eb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:776c6d7c5193886190f803b4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e845adbd3e8cca0bdbfc5384" + } + ] + }, + { + "name": "statbel_population_by_commune__nis37010", + "reference_set": "precal", + "selector_sha256": "4048b32625bf621c3b1d59c2e2d8a8ce5e544dbb9a49ff23bcb2ad31cff9b8e8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5e846073a4b2c1aaa180d89a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:00509e0c6e6fc1d818cfa22d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis37011", + "reference_set": "precal", + "selector_sha256": "a59c4be30fba3d0c0656bccfa1ba0b7914654fa4766367582688628d60ab7b1e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6ffd7e73e6890d654aaeff68" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c269e4b541a62965554a9246" + } + ] + }, + { + "name": "statbel_population_by_commune__nis37017", + "reference_set": "precal", + "selector_sha256": "3b5231f03c7dc98c47cd709733e3cbff53b55841b66bcbb0b0bb6e6316c1dfc3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:37e04fa81bce43ee4b9e51af" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:212d174bec653487fdce77cc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis37020", + "reference_set": "precal", + "selector_sha256": "e1dcb8d8a2d0800ea1f5bb38574bcfc37da5045ede9d0928fd62f87676f976ce", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a1afdcca7a7c46c99c1c0bb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:edfd6e350fcf2797a5de8497" + } + ] + }, + { + "name": "statbel_population_by_commune__nis37021", + "reference_set": "precal", + "selector_sha256": "5457e6ba336c795610c51ab6c83c2f6f7edff11323031b95e63a76bb9a038374", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a445776a53f8cb107ae114b2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7f54c5e873b9b9e1b73f22b7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis37022", + "reference_set": "precal", + "selector_sha256": "07a19d9e493f0e7b2b9dd3349fda2b63d5192e8eee225859d68e843a91ba136f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f2c5877ae47f8943e90866c6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ba6d490c6f821a5b2fcc950a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis38002", + "reference_set": "precal", + "selector_sha256": "65e7ea3e858dfd9b0f767519ba406ae2f447b09376aa7430ac2b76f8755f52e4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4291ec62005491e80e542804" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:88964f49c7ef5946660cc8e4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis38008", + "reference_set": "precal", + "selector_sha256": "72650855d265e631d37e17ca253799a6c737d232a7c439b2c130a68a5776b4f1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dabf43c332433ff502f24f1c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3940ffdad59a3fa6e00a5f6c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis38014", + "reference_set": "precal", + "selector_sha256": "330c440b5c70d6d0620ef10410c2de46ebb93ed41e760ee1a41933fd67c6f3c1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:907472c3370c7afb208d3229" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2881e9ae6d5ed31ada9bc185" + } + ] + }, + { + "name": "statbel_population_by_commune__nis38016", + "reference_set": "precal", + "selector_sha256": "26a1048061ac02c6a0d0b2ef08fa9cc4edd217fee0cc73d200f712badbb9c579", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:880e44cd6302e79e6dbb3de6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4606caa16bce13c50bcfed52" + } + ] + }, + { + "name": "statbel_population_by_commune__nis38025", + "reference_set": "precal", + "selector_sha256": "2b352980e5235caeabea9cdac698f655a96b14f35a0f6568c8032d5ebf1e7fa8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8b18d4497695421180d67bf6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f5e74b5200182971b5f1b58e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41002", + "reference_set": "precal", + "selector_sha256": "7a2b3d64bb53a8e29adfdd23a95d9d4237d899ff1c67383ea5b9f6f9e73c2df2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:06f0bafa753a0697844a870a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0e333a05dabfe341e2da0243" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41011", + "reference_set": "precal", + "selector_sha256": "e4cc71635855a46ef6df7947e5e115a89f3a9082351a3aa726087d07f750b377", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:221bd01caf1a1fdd26312db1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2b4f294fbf0662cca8807570" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41018", + "reference_set": "precal", + "selector_sha256": "97b2dc565dee5f84f5bdf684756b2b5cd64fd411a51bacb74b7084153eb714bb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:358fc7cac0688b032d5c9042" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c5f01e06dfddab32b4fda761" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41024", + "reference_set": "precal", + "selector_sha256": "1f02349862c206fd65d163628c41d497c59a2d1ae55cfcd7184e7e51d0f693f4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:50c681c2f7715b0fbc57d638" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9c4ce640aa9c34c3288bafac" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41027", + "reference_set": "precal", + "selector_sha256": "8159451a48da801746cb14d4b925cc2b97665bca8588a3ceeb224ff9e7c19b8e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0f92778f158a314aaceeea6b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dbe520896a38a857619d706e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41034", + "reference_set": "precal", + "selector_sha256": "7e90c855e31a77498047782a20ff8a51a80ab89ba32c6be41035a8519d8ff5fe", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:15a5ef3cf725ebb5c2ccf0bf" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:34a08a5bb5fc0bcffb8faf79" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41048", + "reference_set": "precal", + "selector_sha256": "a166ce10f44b6eb98d2aaa3e188a422841aa0df2a977d13d49bf7ebc9271220e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c8852535011ecdedf26a3a2e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fadc56b144853f5367ec3f67" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41063", + "reference_set": "precal", + "selector_sha256": "68ee63ad73589696b1f4bcc2c16f9122427024360ff62cc524420343ff61df1c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5cac1830c9561ce57bf33085" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6aa187e806bfa4687772cf4c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41081", + "reference_set": "precal", + "selector_sha256": "61e9a773b9ebf33c046c64061196cee946d375cd85066b9bd32e0c098c196f07", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c3f4894877c9bbb1ea2a7fbb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3c6122750e734260b3c5a5b1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis41082", + "reference_set": "precal", + "selector_sha256": "295d208a1968eee0a04e340718574a4805176462461bfc9c0d5684e763aa4172", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:921357a9af72c4abba10aa92" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a24853206afefaf0902bac3f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42003", + "reference_set": "precal", + "selector_sha256": "f08080d77491e1b937caa16289d23798460c5ed4adc9320571e5b1882610a65f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a506c9dbf06b82889c07c18d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e8a14a869207319fce6c9567" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42004", + "reference_set": "precal", + "selector_sha256": "0c160e84ed556a01f327a1ddec9286743b4cf86123669a75c2ce0397a132039c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb017c8d9ff53db239e7092b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b4a433e6a16c1b56fcf442c2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42006", + "reference_set": "precal", + "selector_sha256": "a317b8bf74083bae49c402d3044169a73f3dcaa47399166eb01dc19cec5d545b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:936ef43c6a53129956bbd604" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:05289dfc22c81d1927c15d9c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42008", + "reference_set": "precal", + "selector_sha256": "649aaf912ea7c98cd6508ea6be446084a19d2c22bd6ad89b2ad295192cf6a7e0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e82a45b6c83ee9b5a1d3c5e5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3d942967c64a86261cabb692" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42010", + "reference_set": "precal", + "selector_sha256": "5c0281afb8b762cad3f8c85294731452b68b65452ec8e8858aef040aa82c8941", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:df58de9515c6252eea616d42" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4dc7aa84afdd44f7c673e352" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42011", + "reference_set": "precal", + "selector_sha256": "0b4c62099d9e2c7b4cccf57dce01486d31152e8f47846b29ff24dff709cdc8ae", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cc6ef65cb34c0ac86f38ba0a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a987c60ef8e27925689adc62" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42023", + "reference_set": "precal", + "selector_sha256": "3eab9239e3d5278ad93e7dfce62f2ab5118e75d835b8bb56537b958c95cf965c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ea3186a85b623144103d75f5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2643b641e52b353f22dee0f1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42025", + "reference_set": "precal", + "selector_sha256": "2a0c75ec40cd23b6f1bbda63cb39892b3595394b245a248f20619c58be324d5a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1f2ed88bc0094b2742c11011" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:169e3e8cd5beaab15c92de8e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42026", + "reference_set": "precal", + "selector_sha256": "f7d035882a3590b018b7bc979058f53aa150b0a01be39a06317136a4e6eeea4c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:91c241047cf1672c507f21e7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:154aad3989668c4e1f685df1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis42028", + "reference_set": "precal", + "selector_sha256": "bd47033677da1430c22531ffae9bcd45275f1a8324ba3e58f52b6645c2f361f4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3ea3f49a5ae9217d1213f071" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e1808b95aba3b69134d2a961" + } + ] + }, + { + "name": "statbel_population_by_commune__nis43002", + "reference_set": "precal", + "selector_sha256": "70e4db9966c0e40ac39084b6e11e8271514b2ff734e4f2152fe5bec420bdbef9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:99b8ac397205c0e530d578d9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7c45de8b8725a9eef25fb9e6" + } + ] + }, + { + "name": "statbel_population_by_commune__nis43005", + "reference_set": "precal", + "selector_sha256": "691de7aba180715c704ef656379cf9cabad38b62921e7e9d5d06ace774609ddb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a95a557921e6a131c27b487c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f760252617d5f42caad793b4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis43007", + "reference_set": "precal", + "selector_sha256": "e30416cc8af054c8f952f313d6f1119169263372499ffe47c0cfd034a3533e9e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:32562afdc4001c7e10ce48fa" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:21e5a1937c130cf78dd3de72" + } + ] + }, + { + "name": "statbel_population_by_commune__nis43010", + "reference_set": "precal", + "selector_sha256": "7538e010286e98a1ab8fe4a35a6163103018fc1ad5f053d9c1a809fce373878d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e54a0933c4bc70063b963085" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5485575ac6af61bf8530f52e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis43014", + "reference_set": "precal", + "selector_sha256": "6b750a351833972feb860ff59613cbfb62e1f521a1a69620a2d2b08f7f6a8023", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:388445ce30a9bf0958657006" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c3ccb7b9b98e4cc1cce4f910" + } + ] + }, + { + "name": "statbel_population_by_commune__nis43018", + "reference_set": "precal", + "selector_sha256": "68690ea954cba7ecc8ca17c310fd96ce9d5b5dbfdf42f813af5d2ed04241fb65", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b6434d7e06af44b4fbb5d32d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7a9a1e4e54120dce04bf9f0a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44013", + "reference_set": "precal", + "selector_sha256": "5e87ae11b5eb8e7e98e77ea9bfcc4685c221d12b38d1a151a042865cc9168d86", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:69dcc382485a8b8c57232fcc" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c50896dc6edc42faf6af987d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44019", + "reference_set": "precal", + "selector_sha256": "8a072c623935b83e69dc6b40b72e1981831ed5189ae9a0894d1deeff48d3cd98", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:07b806928eb1cf5727a02f56" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:57c6b61d2f711823c40a4e71" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44020", + "reference_set": "precal", + "selector_sha256": "9eac93dc3538335bccf9353c943a317005fbcc6235717002cf31966178bba0ec", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4f376b0076b5af3a865de4f9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:cb8fabc67db1fa2d43771436" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44021", + "reference_set": "precal", + "selector_sha256": "082a2a2bdd5df3fe28e2fe383dd93aac728bb6edb067d1d6ed2b0cb1d30d29d4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2afd4d606045ffec0d6f72fd" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a781f331a13d9dfcfca4f44c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44052", + "reference_set": "precal", + "selector_sha256": "30369127b143dbf84e489a51c004a3bdd411e0418e01530dcced66c8cd21d911", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dce77ddb1f14f362075af7d2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dcd7f3da3048f9e4c05a34a9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44064", + "reference_set": "precal", + "selector_sha256": "b63c38b8521b14a527be53088b03d544ea9ff999f95d3e3ae1fd33e77b1d5338", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e0c3332db8b206bbca94f349" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bf3a3b9766e34f81fbcd0d97" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44081", + "reference_set": "precal", + "selector_sha256": "62d1d06ea29073e81032153a826b74ad2139dc3256793547210095aa16ee05b2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8b13007f838cbb66735fb7f0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5f01b277e4478925fec4b768" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44083", + "reference_set": "precal", + "selector_sha256": "2d649db92a36b2d2782bc48cfe0db7109d6230be2a418d0a036b07e8365c8416", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6600c877ac622a9de4642052" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0f1f805fb4cfd5cd1f2e76aa" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44084", + "reference_set": "precal", + "selector_sha256": "5170724be91c335898dee51ef2efb5d984d7622d331895ed764ccf21495d109b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e6ca3cc69e470f21410cef8b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2eccd1b14dc46cf823466164" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44085", + "reference_set": "precal", + "selector_sha256": "4c317ead400a80afbbeb202f46a7bb39908e63fc497d6008511e0bfe1e9f60f0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ba2bf78799000d35556c80c6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2b4bc8c4d19632709bc2a4d4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44086", + "reference_set": "precal", + "selector_sha256": "cfaa6194cdb2fa8ecda2df0e043300dab830e80213782f196180ebf33fd9429c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:65d64e7e7b72f7f8b8958ca5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:df395dfa82761eaf2c55ee9a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44087", + "reference_set": "precal", + "selector_sha256": "664f608f374d23bb03dcc67347eff39fb5ae22600496bed589fa53135af20d05", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a79af09a66517e988a82eaba" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b2e9071eb41dccb18c35e099" + } + ] + }, + { + "name": "statbel_population_by_commune__nis44088", + "reference_set": "precal", + "selector_sha256": "8ded7893550cac5c8fee884e17a7c15edbd07420bf55c5240508e4ba6e10fa6c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4ae0de37cc33f460ed2b21f3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:eb9fcaa57a0919082a8f8209" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45035", + "reference_set": "precal", + "selector_sha256": "3ffbfc5bde3108480148e191e8127948bf248c117c3a93cc2e6e9b79991aed46", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:79e2126e9ac68b96ca145bbf" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:756bb356e41bf6bf133468f9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45041", + "reference_set": "precal", + "selector_sha256": "410f3adecfa47d110063e891229e0430c2fc5639e208f2bc63d1c5cc1ce02f58", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c67b49223f77c565da03b7c5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f5f7f1e702c662fb36274a65" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45059", + "reference_set": "precal", + "selector_sha256": "fae5d8bc0c127c98df15ad0947e8bd72a5e4b1f38fa5e23bae0cc5b44e60d2a1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cabff2f67fcaab4bcf421ce6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8ac14c4283b5a3ce0008c1ea" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45060", + "reference_set": "precal", + "selector_sha256": "d60727985e71ce193861bde3d9a2501e1a75dc39476a1a566adc5358f4353e64", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:45980c3902faa7719e097b66" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4cbf549725079d5c3b0c4577" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45061", + "reference_set": "precal", + "selector_sha256": "18b9c36d0ee460821eacddc26185dedf74063496f7ddd7d74531d516d8c50ecd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:10eeed38e2d62271a93e019f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:613d27f7224dbef8fe9008c4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45062", + "reference_set": "precal", + "selector_sha256": "fbfc0d10019814fbba444a15af7cdbe07af0a38629652d5ba38babe39088e4fb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:79903deb231bfba57d16655d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d702f07c4a5aa4e05fc0297d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45063", + "reference_set": "precal", + "selector_sha256": "686d67633e02b47b5c0207b0eb3a3098ae32230eb36547177a35b8344cc95054", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2abef0cba6f86f7f0f8b0c30" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:07a52ea6b904af44c7701a27" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45064", + "reference_set": "precal", + "selector_sha256": "48851982f0a98e4d70bc502044d07d4c32a8526a36a8bd0017446c5a02535277", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:760c0dd1ac3ac9c66813a2bb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1628f544d239934bd70ee4d9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45065", + "reference_set": "precal", + "selector_sha256": "51e4da8df3be3e81644292fe6bed5c04ddf5a738e02b1949b9125a7e50ce60a6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b7437bb52d0b61ffbff3c68a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a92f86e3cdc6aef71ac33473" + } + ] + }, + { + "name": "statbel_population_by_commune__nis45068", + "reference_set": "precal", + "selector_sha256": "21457e7d898e8565834d02cd9ac877e7ee22d9442a971874ca07add8e4f35539", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1bad68fb21c1f1b1c5831247" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:156f41d33cc2cff1ac06a236" + } + ] + }, + { + "name": "statbel_population_by_commune__nis46020", + "reference_set": "precal", + "selector_sha256": "4170fe2da1d86c97b82bfa4823844894cb5d30a0089f50a17759aeacfad2e136", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c009e0831d0a904fff338fe8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:16602518b9a219b80d9e997c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis46021", + "reference_set": "precal", + "selector_sha256": "b519b86fa6bd050050a20b98044eab438500831027a912e13b2aab7be70b6398", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d441b4c26cd44039b7996e65" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5810324bdd172c6f199028fb" + } + ] + }, + { + "name": "statbel_population_by_commune__nis46024", + "reference_set": "precal", + "selector_sha256": "aba61697a854a6e545dae9de0cda2b9cd37fe80d73e71bc26c31e033d8600400", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:14b05aa96fd93cd0ae45626f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5abf94484fa361b3b02d73c8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis46025", + "reference_set": "precal", + "selector_sha256": "9dd4d44a6fe0ae50c443bba96a887499bb0b10383f95dd3c0428a4c54f8f7b0e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e3fed036b13f44014f2027b8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:638f031c363f4556cd160e2c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis46029", + "reference_set": "precal", + "selector_sha256": "83139659e0ec80311ddf0f5b5ec8e4042c990b063459276d464b5eae871a31f1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:466bc29e944bae6b02652f46" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9889a4817cefe901e44ca912" + } + ] + }, + { + "name": "statbel_population_by_commune__nis46030", + "reference_set": "precal", + "selector_sha256": "6c0356a5329973a2170920073b06e116694d5b572e16ce589e1c91b5f8a0430f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4fe8687f3cf76331ec076e84" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3b30985f372d9aa8fb4082dc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51004", + "reference_set": "precal", + "selector_sha256": "e87596a26c195955c4ca6e02f18e5923b3c8d3c1606fa6bcfa2914a646e57cfe", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:da97d42a04b925eff5937d36" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c0cda43b24b10cf4f9bb0b5e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51008", + "reference_set": "precal", + "selector_sha256": "809fb8c209973b725e48728e5798ef07f63978a2f26d43ead512770ca4261fd8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:87e5c3440d4650904559746b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:51ea277fcbff51d6d858b5af" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51009", + "reference_set": "precal", + "selector_sha256": "de7f95d7c6928bdafd6e2d357de7869a61cc9d666b7cf407c8fc930bde3cfabc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:10d43bc480b188ad75962a4d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:38ffd2d4e788d7287ecf0447" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51012", + "reference_set": "precal", + "selector_sha256": "ee3f43a77b42f948ab8bdd5fb8f6d1284ab8b767228fc798e2dce480fc2085ac", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0863fe07357868adadbe6261" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:80e3ca7237167bb1fea4c0f9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51014", + "reference_set": "precal", + "selector_sha256": "cc306a02ad896203b5601ccf8a0a659d68123f202702240a9da9de26e68b44b6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dba2f52e4e861794ff058569" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c4578220cc455018b7f91753" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51017", + "reference_set": "precal", + "selector_sha256": "088816a10676f7b21254bf0c06c1c6189d46bf2f313418857f4b69e0cfe7a766", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f4e48c89112d8bea62367337" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:03a21611991eaddd5909cd05" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51019", + "reference_set": "precal", + "selector_sha256": "21ea02dedde3896d905a75e989a061573b4f394362e1f6c0a21aede21b3a3d4b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f184bfa407db057390b390c4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:333dbb53b7d1f099ce997b5a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51065", + "reference_set": "precal", + "selector_sha256": "f8db5a8e68981e45639554c9c7d8e24549de4d5e90e29213c02f7a62c5d2114c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:44cd01c46b636fe3584a8880" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5647530c04bdb48a1946f819" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51067", + "reference_set": "precal", + "selector_sha256": "d401ffa48917dfbb4582401036b1675cabb68b3e427f32c039df3eef8eac52d0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:46d1731c03983c41416d4859" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3eb8fbaa7acdd3ef2c414572" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51068", + "reference_set": "precal", + "selector_sha256": "43420ebd642f39a33c65c89d92f79f6dca9912317a70e75b8a61e81c87749e08", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f56d6e5c981a6f6c737cc3a6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3a5df75e3866cdf47c4fc5aa" + } + ] + }, + { + "name": "statbel_population_by_commune__nis51069", + "reference_set": "precal", + "selector_sha256": "b334af5e4870a770c0fb9c41c6f7d98d67bb56271011a8bd5d6e21207858d33b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3928328ef423e76a77ef1dc" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9530551a4fafb879b59f2ab0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52010", + "reference_set": "precal", + "selector_sha256": "473eb13ff2740430d0e252303abe1cb6a217a0587b13113206cae1cd3bb7ed76", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9997afd6eff0e0da92fc32b2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4b6fcad07548cfb7690725b1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52011", + "reference_set": "precal", + "selector_sha256": "81fefcecf1e0219b1fab7a287f2679a3af618dceaae8cd9a00026515cb58254c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b4cb92d24f52b28a93790b9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f013574961f27c6b888b88d0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52012", + "reference_set": "precal", + "selector_sha256": "96b1bbc5879cabf9804952e3a8cc03b609a2bd254d75ba42f23c99419b947c1b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4271410eed66fa31a953a1dc" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:44ec80c648bd619c8fe58d4a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52015", + "reference_set": "precal", + "selector_sha256": "afa495c3dd8d84d7f816aeafbed8ba87033e17208470ff81205a64e814f8f163", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2de2c026091d4f2808c476af" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8b7b03cf51cb692651ca7e19" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52018", + "reference_set": "precal", + "selector_sha256": "c6338b3231d7f1696340d472e10cf5a62fa5eae6a15b6b1d97b086510e0f9302", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c1f2d7c6fc2b6050f105816" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:cc0171b74d9bdfcdfdfc16b1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52021", + "reference_set": "precal", + "selector_sha256": "e817f60cf7050f1b821c16c2ea440a1b706381c9f0a043db35f9ec32ad6b154c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a1ca14787157f236d8c6671d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:052f1f4e769802fcf13fa9ec" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52022", + "reference_set": "precal", + "selector_sha256": "7f3e8ddbc99604b643d3fceebcd64857e438a9f784c272e1644b7610af851a69", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6f9bdf2dd79c15b111755a56" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b2c661349d06a32979fe999a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52025", + "reference_set": "precal", + "selector_sha256": "e8910abdd76ef347e70d840fdd4aebe2b84b34eea499cb2c82b7f6046c9b7ace", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6ebe19cad4923b1acc6be886" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7098974dc406bfdc480e81a1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52048", + "reference_set": "precal", + "selector_sha256": "41c09b840f04228f6d91711e9d5d2cd852c21c36c1746bbbd734a7a5a7a48b3b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9506b2c29f465cde17ac1e5a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3488813e9d1785a6a31a6d64" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52055", + "reference_set": "precal", + "selector_sha256": "c5c34efb6a9b3c6b80e5d6165956b2a894622c892a5347d80e02f83276e303f6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ed84378a5fda89bc930db2cc" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:104ae23840a1e2c4c60d83aa" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52074", + "reference_set": "precal", + "selector_sha256": "1c438e729917ce8950dcbee973caa666a01dbd7b8adbfc247ff6b4589e52537c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:214ef539f812eb32e1d43ad8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5c5cd57dc5ac0a50bd5ccab5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis52075", + "reference_set": "precal", + "selector_sha256": "10996de4493ff4e9c3c0c248ddcd9cc59de4be54d3adce689cab85a8aed19abc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f9e1249ef0536b83fc2be23f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8104fba30727a063908545a2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53014", + "reference_set": "precal", + "selector_sha256": "f9b19b84d9988ddc9edc002aa92e594ec9851b951071582f6e380314c2849af9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d5b4d4908468fb77d9f4d54f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6810cca2fc9b863fc29c6fb7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53020", + "reference_set": "precal", + "selector_sha256": "89fcdf85bae4bc0e3d4c43a70bc60e114543269233ef02a51260e5c0ddf4d5ba", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3ef8bdfc4b1813cfe82800c4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:01ca34a1f2496e1d062f3f67" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53028", + "reference_set": "precal", + "selector_sha256": "213e1e1c7931335bbeb6a623daf7c6ac8ab1c27e8ce234baff19ac62ab6a9007", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:aeee080cc94cd2837ca6918f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:93c8122d8bd15de6a7002fbc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53039", + "reference_set": "precal", + "selector_sha256": "3a718d4a3984f89f458533d48287260eb474d0a4214c3e4fcc613ff6f015e20a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1dfcd1728b953351fca88407" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5547e901123315c1e23d2ff7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53044", + "reference_set": "precal", + "selector_sha256": "97297be1ae074d1c655bc38cad3d2e9e0efef4cba685c2230871e7ee9477d982", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:98b534f676e705ee05bac016" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1ae6609ba28d689768feb858" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53046", + "reference_set": "precal", + "selector_sha256": "447168f5ef562084f4d588dc1d859ab8513bdb5bb6747c0cdb1f896e1f79f11a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:15b4b83fc64fb8945f63383b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ab65f3a3d0e07c27a0f15f27" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53053", + "reference_set": "precal", + "selector_sha256": "855bf95a932b9e395043952a5e9c498c08635f60db9b0e082fbbf4da5a460a7d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:555f1e6f15a0645aca7e22e4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e276cc646666b3d769b2887c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53065", + "reference_set": "precal", + "selector_sha256": "9c7c328d686941c0434850bb055959c31fdf1d916681a9b30d111bb51eae371e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0e62059990886d2918c64348" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:29c6916eeb7640f912e4f741" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53068", + "reference_set": "precal", + "selector_sha256": "0d03475b888a2c929aa6c0e5b1e71b36a967eee9989c86d0ec84a94d3aefc35a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dadc7c964c472bb531bc09dd" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:81190a7097a509b16cd08fa0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53070", + "reference_set": "precal", + "selector_sha256": "a496c9277fa68cc21ac93937ff3887a94941d2350ec4d28bfd32937002f27310", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0ff2104a08dce9179f9f8a39" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6c7fc61a2aa516dd166a0efe" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53082", + "reference_set": "precal", + "selector_sha256": "e99bfb80f01657a3658f4c868de76f638c80c9518367faa541939a0baee51569", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7ca4de29f8c1d9d5a4df2237" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0a812a3984dcbd1edd49bae5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53083", + "reference_set": "precal", + "selector_sha256": "8231d73d4ca1df57b461fc388833cc76e831527c4cd686df3b68d6b597a6d2fd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:41220ec2ac3526383043b4d3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:04584e923627392f2b9dddf1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis53084", + "reference_set": "precal", + "selector_sha256": "5048960592d51e43220b0c8a56fcf512d48060509db810e56bff4d28eeb1975f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:53e96c709aa85e74bc2cf722" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6d53f8218e934899a5aa0bc4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis55004", + "reference_set": "precal", + "selector_sha256": "cb0d3010a43f05009670017cbfb68f56bd38a35601b2e1cf2425c6eaa2f6c12d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:44f7245f3cd4fbb89207bbbb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:697bcf040bfbdf488cdaf567" + } + ] + }, + { + "name": "statbel_population_by_commune__nis55035", + "reference_set": "precal", + "selector_sha256": "b7b1f12788818de3ab326d59ce8ec04aac46eccb93438f817e0b2a4463476d2d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a6073052dda3f691e775e86f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9126fc7ac5f555a010efd61e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis55040", + "reference_set": "precal", + "selector_sha256": "8486412374b7e27622f4dc87dff378c2c53f45c0909f89e7e245da55f2e5395f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5a865134c171efb13c453af1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a86eb2b80b0354613980a51c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis55050", + "reference_set": "precal", + "selector_sha256": "8be07f54c323bf9c72861f6a1a186721eaff593d67e7cc8410835e71be15ab2d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e8a192e24715a33308fed11f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2696537818b0a777597cde71" + } + ] + }, + { + "name": "statbel_population_by_commune__nis55085", + "reference_set": "precal", + "selector_sha256": "cffe626acd11e51347d9060bd3cf239ce6af3b5b88dd146012dbe67c6f31c02e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:96299f95e3a24f6798852fc5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:48e480cd692c3628151d941e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis55086", + "reference_set": "precal", + "selector_sha256": "ac5533ee99a48c56d1818888f5509346fa5584a1e8c1de6f6ec7cc8966defc8d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5499bdb6955165995f65c390" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:cb1c12104c89ec7e54f1156f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56001", + "reference_set": "precal", + "selector_sha256": "2c2469d1861606c58cbb316dcf89f0110961a7e669d8d74f1a97e7a31eade4f2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f8608ecf422237eca610d405" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:15a257babb1291b7be8cbbc5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56005", + "reference_set": "precal", + "selector_sha256": "de63ab34af6192395fa5375bda428d4e6fe6d25ceb3431060f1f5a4e37d97bab", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e0294ae21d11b56ee500b410" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8370d5490fc06b94c8ba3f85" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56016", + "reference_set": "precal", + "selector_sha256": "585a763f8f868f63e4e764d78006c020ec587b2b6521cb581e5fa1765a932264", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7fcd36db5d752a0ab3ee6455" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4d3cf74b4ec8e993dc8d2202" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56022", + "reference_set": "precal", + "selector_sha256": "41a428fb0575e12cad5cd6b3a68b225c1dee5e7ec8dc794b7c6af5a50c58e8df", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0285707dcdf27db821e4a550" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3563953e4fb0fc789d849534" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56029", + "reference_set": "precal", + "selector_sha256": "18435b69b3e43da4e35fc4ced9eaf0ac448f58ca2840e964092b92ae1347ad32", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:98eb556ad4dcd86a8293337c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:49a756b2f6f37c1d145c3fe8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56044", + "reference_set": "precal", + "selector_sha256": "96670e6cdd15d32c4ae9e2ee3a7bb9a9899006290bcf40843d9345dfe1e7bacb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:95df3aebcc9a15c61ceaccab" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d5bc5fc616814ac1c4c369e0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56049", + "reference_set": "precal", + "selector_sha256": "af0015e6d07f707511bf79bd98e55608d079f3685c051db5cbc3b845b7bacc51", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:60727706c74dde9f15c79555" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7afb905d9191eaf13f2b693c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56051", + "reference_set": "precal", + "selector_sha256": "26311a2c916e4ecfacaf75a0c961ab1a3e54c5a7bb6007575033b4efc38f17b9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e397eaaa439f21211523abeb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8c878a1f2b8586a02d71db45" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56078", + "reference_set": "precal", + "selector_sha256": "430b2634ca779e0650643590c2600c9d03d57ff2c673a2c4fc7e513bfd7a9889", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7746e64f240d841dcd98fbfc" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a04200f601179d3f6f4d5824" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56086", + "reference_set": "precal", + "selector_sha256": "78e9d1676d438a5375b8589ac422634f9409e9eb7dce34fc4c6c5e07de333777", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1eebb2c51266d85b24d4712c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c0cca93e88462f19b59b1678" + } + ] + }, + { + "name": "statbel_population_by_commune__nis56088", + "reference_set": "precal", + "selector_sha256": "28589765319de1103b85dc873fa0f355f6331108b6425852bfcf3effb42e9635", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:586311945ddc5582bf47b2d9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0b094e4d3357b2dda13af5f0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57003", + "reference_set": "precal", + "selector_sha256": "58a079100f0768cf15a9a0ca045db6d8eb6f636418fcf3e58790ae0cc03508d5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c656847fdce11b9e9f39467f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:adf76693bf0af4691927afda" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57018", + "reference_set": "precal", + "selector_sha256": "bb2c9f2647ce0eb27e40eb4c83c815ce52cfb70f7c4c07b96e7189aff20d025d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:09fa6d27f3ac5f7fb86092fd" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7dc63779b33c7bc30b73c637" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57027", + "reference_set": "precal", + "selector_sha256": "09debac07bad529e5ca74927c730c57eb29285952e96aa3fc736fe49ca1f2c03", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a9830703c47df1e14f62648d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6dae3975aac12b1d5165e284" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57062", + "reference_set": "precal", + "selector_sha256": "0afd41f103cd31709abd4f341e64c51f4fc7e42b5f31cd4390f42e57d08cccff", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0b5329491e0e22d21ce9b3f0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7783c08ccd6f2c77eb171901" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57064", + "reference_set": "precal", + "selector_sha256": "3263de9ab37ac941555362c6f64f09b44522721122364addf024681be560f59c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:de8a20162ce0141179bf1a28" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a6b75a41ec08486ea97baa8b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57072", + "reference_set": "precal", + "selector_sha256": "ddcb383cce7848eee6f817524efed4d989302e8794fd5a8337ba34bbc39caadd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:92d788d00b89b9df76cfd544" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:76356157d3e9cb046f916a76" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57081", + "reference_set": "precal", + "selector_sha256": "5106ac93b529197709aaa7b5418d540f65b0775b9398b7be7e96da5c2db0fcf3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e759bb9d8c1a74efd1786d7b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d9bcfa10c72a56a04d984386" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57093", + "reference_set": "precal", + "selector_sha256": "16f9bcefcf857c6635ded7948d0fef3b2cb74310651aa4bf5b75eb1847132c17", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa6b5433c61bc80e23a915ec" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:970d09ffe3625ca29312a967" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57094", + "reference_set": "precal", + "selector_sha256": "18f37c70a1c1824a484733c4fc8386611cf8399517942c3d90d0ba3da86ed1f7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c4f295f600b878941431997b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:acb291f68c900ae98dfeabc7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57095", + "reference_set": "precal", + "selector_sha256": "d13551729e9f23bbd50757a72c04b018927455155afbdebb758acc9a74a78f2e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:52ca65316b89445c40635648" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2ae51c0cf980824a51a301dc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57096", + "reference_set": "precal", + "selector_sha256": "d7f28c6e5c1933842dce9d6d6a5426a61da4553b5d9510ed305d27da8e641b08", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b62160a2a2ee7a8584f150de" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:48554cbab4a73b0b6947417c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis57097", + "reference_set": "precal", + "selector_sha256": "fae3a27b83b904f360077c394d5b0c88cc87f28174a1d89914befd8a3f4260cc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:259d6461b061f216036c65f9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:10a596e6bc5c7d531abc3a30" + } + ] + }, + { + "name": "statbel_population_by_commune__nis58001", + "reference_set": "precal", + "selector_sha256": "a17a9b8e3e0e2d20bfd5ac257b987ec836d482695fc45ea14aed44e51e6896d7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:da4990f792622cff0d434d23" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:48f8de2c2b53e48e68ffb3a3" + } + ] + }, + { + "name": "statbel_population_by_commune__nis58002", + "reference_set": "precal", + "selector_sha256": "2c466c4df92927dd1029d512ccc6eeb9e61a541bbc040e80047410cec563cdce", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:933140f66092e0b3e66fd462" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:06c7342f52712bb6cab493e7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis58003", + "reference_set": "precal", + "selector_sha256": "53db9e7fb6fa9a7a155839636335f63dcb2db634fcec51b2cf6dbfebc7bdf339", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0ed8d78d4ed477540c09e8bb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9b216c59aa4856bfb1affd04" + } + ] + }, + { + "name": "statbel_population_by_commune__nis58004", + "reference_set": "precal", + "selector_sha256": "e5d3175676e83b44e046f0c20710051c5aef4b9e4ee266635156cbcca95c3a03", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:97322ee52ed54d2d5511760f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6b83f1262ec86ae410fce7a8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61003", + "reference_set": "precal", + "selector_sha256": "0d09ad29cb7c445a46e0e4ceb4b447008741ead56db432a03e5775d1d779e83b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1bb8d98e96330bcac45539a4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:229fa390899f9286ea02800b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61010", + "reference_set": "precal", + "selector_sha256": "fde1068e94fed1b9790c53b2f036b825ae3cdd50e9d6045f8ca7e836275f0fb7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d506867e4a8c74ee46789746" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0a7ad843c4b1d4d7312019d6" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61012", + "reference_set": "precal", + "selector_sha256": "a5024230dcfa1e672db59ee3b9a7c79636aaf7d4bb1e6d2389c8aaa42e909efd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6028719a0da75496756ca013" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:745d633acbd2e919642d7e3b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61019", + "reference_set": "precal", + "selector_sha256": "53fb530c19f59ab44cfd4ff6afb304b4dfcbb3f2295b70deeb4e20e5797ec7a5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:06fe02234f649a902c67f162" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d53339fca8c236a32e67b4ca" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61024", + "reference_set": "precal", + "selector_sha256": "6e788bdecbaad1d7d75dcc9e45267023285bbb47987fba6cb5ec1cba3d18aeb5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8de0582dad2d586eda047382" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c25774844c2da31976105750" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61028", + "reference_set": "precal", + "selector_sha256": "72fa5ee0ef475dfec5b5724595c0df6eb12ae229c2df49cde6353cc267620947", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c219d989a117d516557a681e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8bf5d13a8c90580ec497387f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61031", + "reference_set": "precal", + "selector_sha256": "86d68085848aafe65515726dd5053b995442e80ea8217e98bf93dac0631a60b4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:806777fc8d56eb86af59a82d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:26710a618453b2bb4a676e2d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61039", + "reference_set": "precal", + "selector_sha256": "8bf6ad5d156c2e97a7306ec10c198edf713debee44a5bb42a37c8613adb617bb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dbd598a413d2ee334afcbf15" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:78a043835d345f960b34f620" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61041", + "reference_set": "precal", + "selector_sha256": "0586cd9a6975b0c4a949089617a24253c87dfe46be4da8d40225529118a10d1f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:43ea50ed15521330eb1109bb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:90385f8946387b5803d2aa1c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61043", + "reference_set": "precal", + "selector_sha256": "4929a9ed142a5ffe03aef676da9ffd9306ab00a6b491dfc07cfbadf811577a43", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:16f071cc05e8d23ac167f40c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:499011611efa3b51edf746d6" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61048", + "reference_set": "precal", + "selector_sha256": "717c8256ef6c7ee4db17b01095f20d5cf489cb2af6ad6834ef8af0e7514316f4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a76dc39f0adead945654ab50" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f8445dc3cbffe4bb88428be" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61063", + "reference_set": "precal", + "selector_sha256": "bdba7fce732c7d5d49c00ba4781ed464b8c31c881979342c51bf7cf63c1f8c9d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9818e948dc3a02984ab2ef05" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1b0480c4a5a38fce51c39d3f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61068", + "reference_set": "precal", + "selector_sha256": "6f023d4e099a30b068d2e749e4d9ef21263450301ac1211755520a79ed67e46f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f57531d090ba7934bd523f36" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f310e33c2d61d072b27545b1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61072", + "reference_set": "precal", + "selector_sha256": "b3d7c8a7198764d9f8d40a1f976933c4f76d4d03950d8d28255ad832e55a2499", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9a1765160bac3cd12e9f4360" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b5e1f406ac5756df8cfff5a0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61079", + "reference_set": "precal", + "selector_sha256": "1d30afa31db5f89788bd5218bfd59ac266c374026cf9fd7c111d789cf1f3dc87", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:53c15e5b1d2343603ffaaf3d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:94f6aa12649c77ec33d53b2b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61080", + "reference_set": "precal", + "selector_sha256": "11dcf483221778b069966b7fc878bdbb1231786a0fa0321db9ad2ec22d626fbe", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fb3637dbffc01671bfcd5058" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fa0a00270749ab3273ad0efc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis61081", + "reference_set": "precal", + "selector_sha256": "bf3b230ce3c4b6862828c55c38d938ceea4977da6f0f4ba66d55e29ceeee2685", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:542d2223eb57fa2829ff0603" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d5e6ce5d9849dfe6a8562bc3" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62003", + "reference_set": "precal", + "selector_sha256": "928e48ec4bd4f49cd19dacfe4b1586422e7fd68ab4fbfa6c9afcdea8e5af5bde", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7ae39530b5343b4097719b34" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7f2646cf5ce588c070ae35d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62006", + "reference_set": "precal", + "selector_sha256": "9293097387c6cb7ebbaac6ef03b4bacb6685910526e05c0943179fb5d05e6046", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2a7ebaac9dbcbb74d9096d6f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:15d32c0a8f7c46a73f2273e2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62009", + "reference_set": "precal", + "selector_sha256": "2db84dd411b77eabaa73707e64811ad7d91820a1c3081f8d53cac679fd6062e5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fc5f199b535d7b801e6fd2bb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f030e1b31a5fa3b123a50ac0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62011", + "reference_set": "precal", + "selector_sha256": "c791527e13c759c157fce6b3b818626b23bca183f125a7067a0d8f436d4f9000", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9b1a569ed75c7b8f86f994bd" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c305427d9b4eefdb40348d49" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62015", + "reference_set": "precal", + "selector_sha256": "96922215493954270eef64a33632ce601283eacf334018f20db715a277037382", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fd7539021461fc9fd64c6d0e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3eb10d1e8e6043aeb34ec9c9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62022", + "reference_set": "precal", + "selector_sha256": "3bacd90e41a3e47ef680b2b7b9da06694f2ce6ad782736e12ba9110fa71eb9d3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bbb283da2ac2f9ac4ec706f8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1dbcec9daa8158ee980f7d38" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62026", + "reference_set": "precal", + "selector_sha256": "bcb3fab3bc0d63ac78a1e4cc1afc0f1de0777cb2c7cd93a4a8028a9dd6d5a840", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d5b6f53e268fb2a9b9681724" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fe377dbb7cccbbdae54c78d8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62027", + "reference_set": "precal", + "selector_sha256": "4a42f96fcc9102d1f63fed47f61f0efa5c4133cd4d1ce389babd881b183231ac", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa80e0ec7e3dc707c6b11246" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a7be872a335b1c42e11dd969" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62032", + "reference_set": "precal", + "selector_sha256": "6b77deb4c0bac9603456fee4bd2cdfe32c67c79a224e8378eff445813b1d44be", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9fda7e8f198a20019e6555e3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:24bb1f11e2a3cee7a7177527" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62038", + "reference_set": "precal", + "selector_sha256": "fa42c4ea7e9c761ca1fb90059d6864eef869df6a96f2e047746ea1c3ff40edd7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3395e1647278039755595cde" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3e187ff87473126f3c64e69c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62051", + "reference_set": "precal", + "selector_sha256": "f0256b68cebfcb2ecb3cbe4f3b67ea89cd5e5b069d63e2edbc0f5daad0d395dc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a3be55ce22206854264f2c4e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6e98c49e8fcb7cc1956ce9c3" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62060", + "reference_set": "precal", + "selector_sha256": "cf48708631a04939c6ef95c272f2228f4e1eeadddfb529e1307b71631c6eee2d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:97aeb6001cfcfeea75bf6f73" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8d45e15d8d76e7bf4eded623" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62063", + "reference_set": "precal", + "selector_sha256": "4caaf04404269d0b142ef82884dce529d399dbe5008e6f75e3e09d84bdb85a4d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:816e3f51667ee780e9807bb2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0562ce72f4cfb8b3aefa3e86" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62079", + "reference_set": "precal", + "selector_sha256": "8babaa9aa1f1580fe66da5808f48e8e6568e1ead20944b7b0dae990fde54cf0d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c98acf6a6e3605ada5e154c1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:261ca4c7fb309d38c8c3c997" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62093", + "reference_set": "precal", + "selector_sha256": "4fea941bf95defac3d97ed0769ba6070c7b807faaeb568f472910dfe93dd571a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:80e0959fe631885ee4b3c527" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:aea1573be8fe2dfeb1edf155" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62096", + "reference_set": "precal", + "selector_sha256": "47daf03fc4a1739b9d91e39bca8e685477c0c29e4ca4a124f2eff6e7a7a0bf34", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b5f4e87ff801af3799cfade2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9c17aa77de54cea3e838e268" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62099", + "reference_set": "precal", + "selector_sha256": "7d22dbf489617b2e77a279a087cbce01ce83c23d80a440a7a52d724136cbfda4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:46565145fb373d49c506fb20" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e15723fcdb54be9996b7616b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62100", + "reference_set": "precal", + "selector_sha256": "0b5352ab9ac494ca7ef5a82088e76700db1f68c45ef3f80edc661e4c73f17c41", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:237fcae7f1450a1f87b66090" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2a6acb74003a199459627dca" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62108", + "reference_set": "precal", + "selector_sha256": "975f7663ff9c752e177ad9519e9187c9027afe6b250ccf974426e120eb94b233", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0e1f80da4c9be0c729f031c2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a17c4e6c36dd26ecf3ab63cf" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62118", + "reference_set": "precal", + "selector_sha256": "26a863e55f2af8e4fbb24672a6172013f13b78b419f0b9c57874b5a423b7a277", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e1ef66ae6e24058cf24cf460" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0ee9fa838ac7cc882f724f65" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62119", + "reference_set": "precal", + "selector_sha256": "06fd4ce0390faa4fe159237c12e7a7cb9d928ac20773355906655968b1db8ea5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5868fc6a6af2ff6a3bd4f687" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fcd23b14721a7038207d2290" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62120", + "reference_set": "precal", + "selector_sha256": "ae91e9eba4022312a52ae00ada30293fcbf9c7a759aea746e54a94aed0814d5f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5132080713eb587308810d9b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0a784419f9e69d3394a26805" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62121", + "reference_set": "precal", + "selector_sha256": "70b3b21fe89f1c028d3b64af9133489b441e0df928bf4d7e7d9d1d354e0c3cfe", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ae44c98419316e8e2dfde50a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2dc6184021556506aafb688c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis62122", + "reference_set": "precal", + "selector_sha256": "c6dd08053d36d1e6e08e2bf273bc8d06908bcfb8f953d855a12028b679245501", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:df3f184540a9732aef1e5446" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:37aa25065c794c87099baa1f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63001", + "reference_set": "precal", + "selector_sha256": "e3e8cfb1d7c3a054c384ed4b0117bd63a7bbaeca36b99bbf547db236022dad39", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:08f8aa167ec786d9c9229c8b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:58a85d3a7070072be9f24142" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63003", + "reference_set": "precal", + "selector_sha256": "2dd72678c4328fd727dafae4b30f6dc8ec036f7292102ac56fd11f7d4434ded0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1814e9953d5f70890d467629" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:24c33d68e8b4e43b03c03dab" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63004", + "reference_set": "precal", + "selector_sha256": "1bc6149177902cb4eccba0634e9ac873e928dbcdca0aa4c63c3b6772fe09c704", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1d334681b8549e826557cbb5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3b0736d35f684a57c08ff842" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63012", + "reference_set": "precal", + "selector_sha256": "0b140aedeac0e1c95b6b978d442a0251e0253b05ea962a44938c2af64786d085", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c11b468348d257dbf5a7ab0f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:45eff249af41e9e7ca7cbc11" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63013", + "reference_set": "precal", + "selector_sha256": "607700a82339cf2c0f9095bbc70e6feebd92bd5ed56ccc4e813f28e7d0446fe2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3973303d8e7290152832fbe2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:95b5f5caa66fd6a831caa843" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63020", + "reference_set": "precal", + "selector_sha256": "b401d659645b87c12f39b612d8865af3777f53693213c3c76e92030392ebcc1f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d42cbde731128c5a2556910b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:216bf668538db03b9909c5dc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63023", + "reference_set": "precal", + "selector_sha256": "b05f962ad10bc932f697061bb649c4f6d647170e78728480fba65785e7278736", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:503d1c2830b8f29d9adb3f55" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:25d5d8b1efcd33e743e16ddf" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63035", + "reference_set": "precal", + "selector_sha256": "40906f52c57337a5e1d8ae59683173506e015129bec7e8596efab50b4f067d1b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:88367cbeb1bb3a2bb225dba2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bbe8c0a66322aa1b0827f73b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63038", + "reference_set": "precal", + "selector_sha256": "94d32c6cdd2f03e887f631c5a41c47923c1ab5c01a2604de19644d2d50254830", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8a1c6ac7eb26f9186da1daec" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:60112d4068859a2057f5a109" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63040", + "reference_set": "precal", + "selector_sha256": "dbe082ce6ce3117f970efb2a067e51861afb2ec01a20a1035e63332a396caa63", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a2d84ed38223326ad32a75c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a99c0ab1c10e86e768df8f80" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63045", + "reference_set": "precal", + "selector_sha256": "37f2376f0810360cd471eb23ce8acc93852fb60561ad59cfc8905b3c94ad54b6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ab9bfbba5fea5d2ecb727c5e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:750e6dc1e7aa920b3b13e166" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63046", + "reference_set": "precal", + "selector_sha256": "d0cbdc640c5990f5b0c50546a665a0b8dcb7de89860720664e18954e1d3284a0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6eef12675113143d59ab616c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fa24f5691e56102ce27154ab" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63048", + "reference_set": "precal", + "selector_sha256": "29bae55efe6c27d4429bc2081b1fa00009e25b2df2015cfced6eb1d5844380ef", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:269df8f181c3fd9fcb408953" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d6f16e632f2f96ef307187e4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63049", + "reference_set": "precal", + "selector_sha256": "147ef8578a1ba0844606609fe3fd9eff207f4a3068bc1ad1d07c061d51445bde", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bce7a4bd8eebed960d2cf697" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2896df94893bc8900a0e2a6e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63057", + "reference_set": "precal", + "selector_sha256": "86ac060e23a5bd8dabf251c3ad7b8a4da1c0ac9a90f6d7b795c9ed5aa51f5c20", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:92285080e23e90b1e408fdb5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d69a93f6972c20ffb990d525" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63058", + "reference_set": "precal", + "selector_sha256": "a5d9eecf88c9d11c51c18538210f649b78e2d14d4eed40809db4246528f2967d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:27352a66a7c6af3ed8f914e2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e78302e45aab3ca3d4973554" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63061", + "reference_set": "precal", + "selector_sha256": "b2fa9616828d3a901a817ab987d04751359ae863ee79821d3d38dbd977a6ec90", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:62d2d5caf6c6945efcee93da" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d0f8eb73f1a9f1ade434d5ef" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63067", + "reference_set": "precal", + "selector_sha256": "8428533cc4ba90a2a80b83127a023e9355bb5e322e2f0b1b329c22ba09386e5b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:732bc5cbece5713286ad49f1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3231a5f84e538e7cd04a7540" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63072", + "reference_set": "precal", + "selector_sha256": "a08f75e726f12da2ed2197d7fac327f038d04b70f1eee49da7672c5434f4264d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:304d043ae3c898aacb1ddfea" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dccb1908596ee148692ee29a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63073", + "reference_set": "precal", + "selector_sha256": "0375aac22d0acf991a56e26c5c52cef678fec7a163a5f43e8c1ce887aa7d8b59", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b16def2ed8946254307fd600" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0dcc8ee843fa942e067782e8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63075", + "reference_set": "precal", + "selector_sha256": "c403bba5e748a2a1d10076f6d4c3fccf0859b50f0d4d5a9e0fe44b82dd071307", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fea3ebf78a10ad3c81932e06" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8c9e6c8024ae5841662adf8a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63076", + "reference_set": "precal", + "selector_sha256": "9f0a61aa0f90c5a5351dd6377ecbb7bc3774ae6383593f5cdf7401cd3bdda8e9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:343c3f178611fc55df15572c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:51d976b2130b731ad9798077" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63079", + "reference_set": "precal", + "selector_sha256": "3a6be23c4b93642f8e59a0f325c037939670ba0f041982405fb83bc7428e19ee", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5d72f434c9a3474dbe71ed19" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dde695bc9a0fe8b19dfbc83b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63080", + "reference_set": "precal", + "selector_sha256": "6551689c74acec4beab90841534ac5537bfb24315be9c11729009277cb350389", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8a0a8e80eed2c5e9b0ad018d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0d9b389d6df59ea0f8ffed7a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63084", + "reference_set": "precal", + "selector_sha256": "3f175bf33c650101ad1d3fea6e2a6eecb36f66aa9ac2f3f095ebaf1826f75bd6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e5e71a7e1231f4ac05141151" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:09617c9b8b04f17503871bed" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63086", + "reference_set": "precal", + "selector_sha256": "5afda0304cd2991fd133d62660fb23c9e55c04e1981c58bf3a240a600ba3f537", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:78ef03e6acaf48ab0f0a7836" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:012149a0676bdac1e6e8fa91" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63087", + "reference_set": "precal", + "selector_sha256": "2125cae162423a2d0d7b7607238ee3996e3a82ed59151f952dc4e76c2ea6c3db", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cee036e20247a55f570c7f3f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:22a4998f2dcb24c8bb02e283" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63088", + "reference_set": "precal", + "selector_sha256": "8771757b5f60577a42e1ceb4fd370350b1e14815b9581e8a9db14dc60fdbbbb0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:336cc36f2630e1583c8741c0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:afa056fe5ced0bbd081355f2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis63089", + "reference_set": "precal", + "selector_sha256": "0ab395a58d34b364b2b64cb0b9a2e59932a692a40d4fdbc812fa0cb09a8cbbda", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:da498849f929bcc09179e85b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f4d843c23a2d8da7fc900b37" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64008", + "reference_set": "precal", + "selector_sha256": "982c013f86a1ff11b6601a81f96f75453ba24182b59caa5fd92422e8cfedd7b6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f1324b54394f14f79217a0af" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:56a5cbd5860a839798945057" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64015", + "reference_set": "precal", + "selector_sha256": "8ace3b350c999fcda30a4273422e5f88d7fd6407298b21d48117f69c6fe36b9a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a5bd56c1146bbda5d5b970a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ae29cb568eceb22291bdd793" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64021", + "reference_set": "precal", + "selector_sha256": "ff8121997392b5c98c7327433ca80c15d108bf37dc0578d2e2cb27cb6e799cfc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:402dbb99b7eaea5054ae85a2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6aed55d19571feaf10b76bd4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64023", + "reference_set": "precal", + "selector_sha256": "1a9cb5261e3bd590172d4d9c6d894f2cd001458979ac8f8962be1120a13cfe8d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ab398159391457cbfb0debe3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:23e82571c2d5a68d7033d7e4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64025", + "reference_set": "precal", + "selector_sha256": "a10270e4ed393d93646c6d65cd71da71c6077cb28f2564980bffa6ea01668e82", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:27e61ea50f487302fdcf2614" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:04a716259624bbd415b14ebc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64029", + "reference_set": "precal", + "selector_sha256": "8bb799479b7314e68dcd3b43eb0cb0dafe1ff49b44491f11779d8181a4ac105d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f50c8d11d8a6737bf3f206ef" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fd23097fb3ff031eaee0ca27" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64034", + "reference_set": "precal", + "selector_sha256": "460de892129cc4da5821325a50ec60efcf73b839dba39bb609787e527d7b4951", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b1a56e77482c38ddd403efcb" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:54f4d8253c6b75a0d84b15f6" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64047", + "reference_set": "precal", + "selector_sha256": "e9617a2ce88e76107996cc16e21d22ce1329b51561ec19cc97d42b8bde5e358c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b68238d539c05eb27ce584c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4086d96daa4c9006f6d29e77" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64056", + "reference_set": "precal", + "selector_sha256": "e290acfa6b987028b79e7d6f36631080bd54e5142a9cf648008dc28f0a7905a9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fe116320ba124917b91fc70f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1bd672a3e3b38eeef04c1d14" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64063", + "reference_set": "precal", + "selector_sha256": "028c776f513c8f6e1862b1cd9eacf1c1f1a7e6139ed5583927ebd96b7d64b4f2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:abee3ec8f8ad270411746a77" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b6cc924d4258fab5c792affc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64065", + "reference_set": "precal", + "selector_sha256": "3c85de0e0b4c5a5436b8a5d75118b621ea14b77f06aabd9dd2b6d377af26c1c9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb8cb8db9d68e5f5ab427ad6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b7bf34f14d72567e26b51514" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64074", + "reference_set": "precal", + "selector_sha256": "a6fca97497e0bdf34ac3790a90dbbf23f0e5c27c670caf8ae183d508b5e403f5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d9cca91103400f03d4512687" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:33f6b689405565603fed1ac1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64075", + "reference_set": "precal", + "selector_sha256": "335afbffb929caaa82f7c48ab3f0276c5e6d56396c187202dfb01447361439ea", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:12bc6b56fa2d2399237d8f6e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:195206ef6841cc557c1035ca" + } + ] + }, + { + "name": "statbel_population_by_commune__nis64076", + "reference_set": "precal", + "selector_sha256": "782355a731b8f36fb375043d97c4ef4169435fef8508444697babfc6c4e68df1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8b96362268c32bfc8a1bd3d4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dc5ca17a1177bd46e50981ef" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71002", + "reference_set": "precal", + "selector_sha256": "c0ab323011fe543ec9d7a320aeaab5a2dcd28f82107759c2589d2b0fe8b1cec4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:43e38a6fee0eb558cdf3c2d0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c1bcf6f772b1a36fb9a1f301" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71004", + "reference_set": "precal", + "selector_sha256": "03a1cd70c2a97380f7b96e4c258459fc33b1e50aed72f16bb882143b760271db", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:38ea60af5242708a2950f519" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0e0c3cd740d94afd181c37f6" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71011", + "reference_set": "precal", + "selector_sha256": "8ad1fe2c3029393d1c4fce2f8138dd47f3079aab3eb9afc51b66279babb46d53", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4e99230647364a21c7e36bf5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2f3beb6ce68d3a1174564515" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71016", + "reference_set": "precal", + "selector_sha256": "0ae11654631ec6afb412856793d1a035b6a942a0137d080cb7d3f98ea4f6c1fc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f38f3ae6f93317919fcfe6c7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:af4a14fb7a3a1e57ce964932" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71017", + "reference_set": "precal", + "selector_sha256": "8a5f45082173e1203b1dcfa5c542c0118155a5d500ebcbdad08602d59ecd0b04", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a667eb27a7abd6a80626dccc" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:642ac3f312074521cc17f1f4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71020", + "reference_set": "precal", + "selector_sha256": "02ba259c90af64206395434f8cdb36c3c054c131012000ad655c4f8216875d42", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6c678a3e244f3fd2e697ec33" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ae5038cccbf3a5b0c72d2da3" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71024", + "reference_set": "precal", + "selector_sha256": "2e909d492149b77035e55d26a75734498d40f16af50f05485901b88c938cb8cf", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:158105242e61dc604f7ce43e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:31820b7b0986649fd00d878b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71034", + "reference_set": "precal", + "selector_sha256": "e645631b96177772b7d3885f3f1f7fdf4f9cfefbceea2e8c9988456befe79376", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3389622ccb1e9f53ef736505" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5453b94303839a7484b65ea7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71037", + "reference_set": "precal", + "selector_sha256": "9cb2e4cb03fc2a8d5648b2e2efd4a34cf20dc1714105b8b5a60ce4127c827ae4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6e1d488c0de5bebf5609ac5c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:20a47b9b63ebfca64ff4f0aa" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71045", + "reference_set": "precal", + "selector_sha256": "6929012debaeb91ce6c3542fd8cb28f9f3f4720c385dbed1980f918d89d22cc5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f5edd0926eea3a484750ddba" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d80923dadb76fd4ab5b18dec" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71053", + "reference_set": "precal", + "selector_sha256": "2e228c0ba46abd87fb4e489673bd7ed3abd325ba385fc37ec3a511094c7d78b5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bbb9fa09496f83376272c284" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:be27d19148712f5e645d9636" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71066", + "reference_set": "precal", + "selector_sha256": "5b283a80933c4cfc42fad991fabcd43dbd194e95c2695efad08a41ea73692f49", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6e2d2b374153acd25552c424" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9fde99605ddbb8a0939af7bf" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71067", + "reference_set": "precal", + "selector_sha256": "306d741f8950dc5ed408a4769c89c935d70fc94acda5d25601b6acbd7875c39b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cbe7b4bd80cd717121c8a55f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d4fc0f645a5aced029ecb20c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71070", + "reference_set": "precal", + "selector_sha256": "94e7a9b0aef34c1b73535e62d37a6b7ff2439d06d16863e52b292019208c478d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c00ed959717f249cfa1a3b3a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:767c78eda1cde7cc95470554" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71071", + "reference_set": "precal", + "selector_sha256": "2811bdff41daf08ccf9e4e1e55672771a04676f3429d291f4b5088ac5e810c0a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:016e269edcd5d6b7c7d7d7ce" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3941234bfa2a8d6b2bf2bfe0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis71072", + "reference_set": "precal", + "selector_sha256": "33aee8120d72605c941efa40eb404dda6b0e0c874898e90591e295cb5743c79c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:10960756b96a7a6c6eda43af" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:83198e2eaafd55033b9c8ecf" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72003", + "reference_set": "precal", + "selector_sha256": "330cc80a9b8908812707b887327cfb5e38bb58f34703e93378567f8b92325b6a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:118449fe84c7d6c46c1a524c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ef2269bfcff9ca80b0862c7c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72004", + "reference_set": "precal", + "selector_sha256": "cf71a740e750acf98af8b2e5c415778d481782e17d0a6a488f4c34af7539c121", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:57f1a472e131ef465aff1e66" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1aa29e402dad2b0cade57312" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72018", + "reference_set": "precal", + "selector_sha256": "bf4ab8abc4dfce7f27da092239224ec7687e420b706cd740e81e13506170779f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9dcb3d6a3d6be5781206d066" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a336c8707cad04f18dbf2a6a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72020", + "reference_set": "precal", + "selector_sha256": "f6cc25c2fd1b7f9e3f464d8112fa31314136b639022574e82c2df4fbcdc34ff6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c1629c221ec490b59e3bd8a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7bcb9a954bb466478f11607b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72021", + "reference_set": "precal", + "selector_sha256": "cad3c63e25762e6d223d720df795fc9d482020f00bf59e305a07f86d188e36a6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a27c8e9c47a7ba013ca3fc07" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:85941c9316ec20817a3f733f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72030", + "reference_set": "precal", + "selector_sha256": "7d9e5c9debfe5c166773bed216ea36349e6d6f9b6e6f7295049e06dfe67d1484", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ef2da197b4d7272c0f7dfa7a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c4bb55f9229d09ca16379375" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72037", + "reference_set": "precal", + "selector_sha256": "2c4a962661d9e193e4464fe7b6f6ac2018411b2208144bbeae6070f21c41caca", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2013e91ef366cf1612ce9c7b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3b65a61ccfcf0b7f5f433c53" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72038", + "reference_set": "precal", + "selector_sha256": "e668e0eb0b334f6354e2e11750a282f66fb792c7122b9222272530336557a1a2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f7014f96fa6a47003b77bf36" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:797503b735c13f0940189517" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72039", + "reference_set": "precal", + "selector_sha256": "ae95f212463f6e2d58dc495529fc7822be9e905c88dce2494139a4404248bef1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f08b2ba42fb0d77debb1655b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2a9068b2de33f5fafe4f75ba" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72041", + "reference_set": "precal", + "selector_sha256": "0f2f91ce1668eec32b416d4d010ee155cbe5503447a6e4d1bcc20069fcd6d60d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7bf2230fd69814090859d15d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6d498926d13e25b0a31fc950" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72042", + "reference_set": "precal", + "selector_sha256": "422a941753467d0d77f9457a1fcf3170b6441312338dc16762bcffb98d0d4b12", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:84bec730fbec9ad24c485a51" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3f6c5f2636c590966cda1db2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis72043", + "reference_set": "precal", + "selector_sha256": "9ffd3130cc88919ab79cb2771e3ab92ec8421a8dbcc3bea80770799b06157e83", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:090997dfddd6371ec8605dc0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:69aa7995e56704c36a8f9375" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73001", + "reference_set": "precal", + "selector_sha256": "37095e0755efe109dc8d68d074d27f8aa22bdfbf98e393192803ad55ba5d0218", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b7f2af1f8f193eed041ee8c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:eaba566286cdacf32869d81c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73022", + "reference_set": "precal", + "selector_sha256": "3e1776a1148d72c1b6381a625f3348b850a289a2a43c14fdd117e6aedebf19e2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f618029c4b0501939b6138c0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c07857ffc7be3b9cb56e0efe" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73028", + "reference_set": "precal", + "selector_sha256": "7a8691e67a550c67b2fad5953e4684fc15648cb76402a17fe9e1eaf4f8326cc1", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:66c95334c99c343a30aca149" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7f2dfeff831c9beb485ccd03" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73042", + "reference_set": "precal", + "selector_sha256": "ed7efa74ab8ad626fa8ccedff3b44fa166ded070f0a07f6145370db9de39816c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:117ad2ae33571501ed106590" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f17d68de2c66fc779cdddf10" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73066", + "reference_set": "precal", + "selector_sha256": "f1af6882a968385cfd8e601d416c11e73b3412093d39ffaeb0a042f2abc5cf13", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:884d1ff92cc61add2f0a1615" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:903b1344fbed7e268ff91d80" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73098", + "reference_set": "precal", + "selector_sha256": "ccee513d15c1138ae76493ba606cd182e4410a5296023e769a1526decc1371ca", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ba1982f698ab40e678940444" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ae8c754446b1c7009991fbfc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73107", + "reference_set": "precal", + "selector_sha256": "20e6277846e58a9d214a51937d09e1c0c94107b573e5a1a9a80d73ba4dbe5eb5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ce7d8146a760c3a2e43826c0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:07b76334ae740c975e9fd3c7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73109", + "reference_set": "precal", + "selector_sha256": "659d6c3b543d114adafd69be7b3ae76379d9c002991ad4b30e7aef05ccc29737", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:196fd7f04acee247618bce28" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:db71bb435f2a342408132729" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73110", + "reference_set": "precal", + "selector_sha256": "7dea54cb53dab8ae1394baac5a15994e2444a873588d81bc34e22f23c2a04bfd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:71084bf8256a9cafdbb05515" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4c18c6110dc9b8a052c5df88" + } + ] + }, + { + "name": "statbel_population_by_commune__nis73111", + "reference_set": "precal", + "selector_sha256": "ad84aa030fbdadfeaa79df95c80047418e1bccf2d45af442f91e26b44a703ba6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f10feace0509d39dd2afd832" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fdc64064c388f9bc779e8161" + } + ] + }, + { + "name": "statbel_population_by_commune__nis81001", + "reference_set": "precal", + "selector_sha256": "da3f836f418146d1676144e0c3f5ff415d83283dbc5cfdbc80b72083be600122", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ac2e9d4344d2b33f02e5016d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:87562f7ed9a5d7019131d97f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis81003", + "reference_set": "precal", + "selector_sha256": "b9fb79e1f1584ff76da3c0be74ff278683fc13c1cc16c9ba9897170894d3fcda", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:15c625e31cdeea1327ad6fc3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:267f683a408c9659f5dc3e4c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis81004", + "reference_set": "precal", + "selector_sha256": "07bbdcf39b9d735888adf9bfc3a0c03a663b6a8fdc822f607a78fc532aae99dd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:44ab1febc1a968eeb456064b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fc8ec482bdf6ed00053770bb" + } + ] + }, + { + "name": "statbel_population_by_commune__nis81013", + "reference_set": "precal", + "selector_sha256": "e3474037f463c71548ec2c510e3be0dbbee4a5099a8f324b03555397833b01d3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7b941b2308015d679d07e1ff" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e37d612fe7cdcc89f59ef821" + } + ] + }, + { + "name": "statbel_population_by_commune__nis81015", + "reference_set": "precal", + "selector_sha256": "51a55567f92537db08f8434616d42ce1b7a19b82928a5215bdda26e4dee1f209", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a846a2a49ef204e1a48e0ce3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f54f781d7b6b5236a7fd3eee" + } + ] + }, + { + "name": "statbel_population_by_commune__nis82009", + "reference_set": "precal", + "selector_sha256": "d0efe3d946caf0ba85c2f9b92ef770f47dab47de242b9a17d4d59c50265af377", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b12cac11649f9d5ca9129fac" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:46a00fb733204ca89ac42f34" + } + ] + }, + { + "name": "statbel_population_by_commune__nis82014", + "reference_set": "precal", + "selector_sha256": "ed11f5658f0997060926089665bcf8a14ed096b2fca74719211d1f40a97bb12d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cc5c70168692c2a6acdf970f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ae95428b2660418a7b97acdb" + } + ] + }, + { + "name": "statbel_population_by_commune__nis82032", + "reference_set": "precal", + "selector_sha256": "03ebe656a3ed23dee4b905a79795145098b18e65e2d2072160f1148b047131ee", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:69a7ae1992332b0aaee74a96" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3314beb2a535829ea1ca4200" + } + ] + }, + { + "name": "statbel_population_by_commune__nis82036", + "reference_set": "precal", + "selector_sha256": "2195c149c678efc3071de3ee1884dfbadc7dd02d790bfc5a1eb48e2dd7d0a7db", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8f635f15e0f466658b6966b4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7de37cad30f69873bb895aa9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis82037", + "reference_set": "precal", + "selector_sha256": "1bd1ebd5298ca2080d39c1850067e104e963fc79ed54e854815f2f68fde65485", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4ef2cc1ee0b0694b518d94ff" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d9dcacbd132eced7c932ac9f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis82038", + "reference_set": "precal", + "selector_sha256": "be717d90848cf3843ac8e09e3295e0388d7ddec7e1923e0d55cb55f2870cc12c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4974945db7ed97ba79bf0e34" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:042df1890e9f781918a2b9aa" + } + ] + }, + { + "name": "statbel_population_by_commune__nis82039", + "reference_set": "precal", + "selector_sha256": "22b7c1f7a5e1d5148a2b77e74b104aa89d7ed4caaede211658ff33c4c7ee03eb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:913492db699fe335bcf2f9b8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:18baef9066047504a12adddd" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83012", + "reference_set": "precal", + "selector_sha256": "04d25c51591c75348d379c27c9c6b6fd66d9cfc53de35a749d7819d18ad78f0e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f906bddd2a9031d7789454e0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ff27551d7d25c0ad20a29305" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83013", + "reference_set": "precal", + "selector_sha256": "663bdb2e68d4735f458d3b3ad5418ab629dcd4b3b8b6345d2de3252e79685fcd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:65aef9fa06660e59303111f8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c96b1ea40abb180885291ff1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83028", + "reference_set": "precal", + "selector_sha256": "c6d1c2405889a199791095bf29f05b60b85f4945482f7fec8c85ff0bf6db6551", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:57be612717150562283e0eb8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f5408b163bd4e1adcd773d4e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83031", + "reference_set": "precal", + "selector_sha256": "386668c14e32c8bc6592a82d32bc56add81b1ebe7caac917d3fce5646ea62320", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:47b7d31757d57921640089ae" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8d5396690662d10f7d6642a8" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83034", + "reference_set": "precal", + "selector_sha256": "814c07534a2d6e4a1490e4ddbee8318d2e61ce14baf5b46645281f6b41c0d4cd", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b57dd57e29696aa7a925d1e3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:41fb7c2cf3ddbe85fc8af36b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83040", + "reference_set": "precal", + "selector_sha256": "7e9bb60f786bda835d95d9b887f85cbb439eabffd98c0eafeb038c7668ddb1be", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:94142579059fd20bed646ce7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:36134dd887668918ad9550aa" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83044", + "reference_set": "precal", + "selector_sha256": "2badefa1af848195592857821c4ba70b8baaadd3e050c8e6d3ba0f367da3081d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2ebd199120a2e208077afef3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:bc30c1b4da89342ea3434676" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83049", + "reference_set": "precal", + "selector_sha256": "fd83c242128d06080bc822e0a445b9ae3bbde868359d929d30edb712af6af7e0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6acfe13a7b0f561dc984ce77" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e32b888c8c1a399281f49e53" + } + ] + }, + { + "name": "statbel_population_by_commune__nis83055", + "reference_set": "precal", + "selector_sha256": "bdc24ddc866467a473b2e549d068f267be9d1b5f01d8300e9cec4e48db9a4ae2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:484419bc1a606afceeed0fd5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:46e38178e7b9910ada85239d" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84009", + "reference_set": "precal", + "selector_sha256": "76a39888b3cc15738c086cab7dc580c6fbd898cb9c738df5733aeb1717a90053", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8c10e52ef675efb1b0a891a8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0b6878d4dad7bbf26aef5cbd" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84010", + "reference_set": "precal", + "selector_sha256": "70a292313b29c11974c4bb408321b1e95c61fc9eab1e6cd6c2865b108394fcb3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:222603d39bd0bea7a1980373" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f5ce404740cda3409815876e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84016", + "reference_set": "precal", + "selector_sha256": "44f4d1afe522d1dfce5a14bc6745b11b3dadb14f8168e63cc0501ffd82892614", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:58b82b95db1d5532d6888db9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a43390467c5e6600bf69ac00" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84029", + "reference_set": "precal", + "selector_sha256": "85f18f29d8ffdb2b2c2fa8c7a5ff2c9fd0b148d35dede7df51ae4120a8639f20", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0080a472eb23cfaa3249435d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:89dfa82fe501ab7e6fb8c4d9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84033", + "reference_set": "precal", + "selector_sha256": "9faf35694be8401be4c39653963b6fa2c794bf52951450a94a1706d71fdbaa72", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5f93007cb95669086a31c47b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:a9961579947852afff1a852b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84035", + "reference_set": "precal", + "selector_sha256": "192b3cc5f222b16987cc07b25ebca70afd88eddc7b63e2c91a944100f2f50de2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:482ec099793ace830eff9adc" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:91de0abb74304176334e997b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84043", + "reference_set": "precal", + "selector_sha256": "115357cf823f5b83b99bb325a945cc01d5493038f68f85f8a03b9d878fc22e6b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:636ed099505e8f892fdb256d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fd8d3e5caf25bf15af49257f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84050", + "reference_set": "precal", + "selector_sha256": "d75ac4c5f8586586f181e1e2b904a22be468a17560ab4d1d8803bbd517844914", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9183f57470e5122283827a45" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:00a2e60e1ac5a8c1ac6daa5f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84059", + "reference_set": "precal", + "selector_sha256": "db46f5d9c256e241a2c40c0841f5189cd1986ed8677a48cc751f80c8f04b19df", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c7c6a501f114533e00cce27" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e071ead79c9e8ff5f9e068f6" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84068", + "reference_set": "precal", + "selector_sha256": "1ade7fe366c60488c4867aa931fb45b0eb33c279599ec543d99545c8a8b8b31b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e5cccad3f65b272b7f10db95" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:833888b66ad66b750e9f046e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84075", + "reference_set": "precal", + "selector_sha256": "40bfd99d99016bca7253d9c0208dce4fe2dbb6d6f1c00afd62152d6254635e7b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:54689453f5d0a002f1c42073" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:85eb45e860ead230639b6657" + } + ] + }, + { + "name": "statbel_population_by_commune__nis84077", + "reference_set": "precal", + "selector_sha256": "14ada41895acb52947b3e5490a8d04b452cab2508ae872d9c31b6edb59412ed4", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:12ef5c6fb7454ae7ae0659c6" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:416ae7d3b495c3f6db9a2ea5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85007", + "reference_set": "precal", + "selector_sha256": "a640b2efee5540ac0e970685f0cf091bdaef26ecd83e22491fcd96f4ce95020f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:17ad107ab5d2f66119facb7c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9e4e59a7ecf148bf71dffa6f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85009", + "reference_set": "precal", + "selector_sha256": "0d4b78a1aef51b517bed1b8e2c38c2d6a141aed9d4f66d93be5cc71616627092", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:18fb7d0e5af97e10f168545d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ba0871d43c830c9d79a17737" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85011", + "reference_set": "precal", + "selector_sha256": "689da7a6476ec2885bdef0c7b81f8ea90957694d0ae779531d8e2f699a32a650", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d2792735b9b8b51283d83a7f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7194069e2fa61b0d1458cc3b" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85024", + "reference_set": "precal", + "selector_sha256": "5ad86195ddcccd680807519245b37d91ba144ba2300402f2fd2c05e14960da19", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bae751ae2c1cb1d7eede0743" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6250eb24cf2378de8cf46ecb" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85026", + "reference_set": "precal", + "selector_sha256": "32d3d8d1bdfb1b247473a68881c144abd9c031b1ce46668dcf2245a3d4a45d7f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5edd80b21b149d00dacdc15c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d3f43aa11e82888defefc967" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85034", + "reference_set": "precal", + "selector_sha256": "2036c97c25fc4d1e51b658aa030bf0bfaf006ce5d38a93e8e27da935f3e76f74", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a1bcaf7e8536b0256982483d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:25bedde4b16866898d6f8483" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85039", + "reference_set": "precal", + "selector_sha256": "1f1af8a4d543ab3a9d84793d16a534f7e1e604be0434e8595ae78107bb0f93e8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6397fde6cc26d4351cfa2df4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:339b32305cb7f42a8476d328" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85045", + "reference_set": "precal", + "selector_sha256": "0a63adc056a3cac35011e32914ebc25bb2a022d100cd091dd51c1ed8874277eb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ca7988dd927ba24395f22c87" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b3c7fc7a6f7146917f8106b7" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85046", + "reference_set": "precal", + "selector_sha256": "f0a6b3beda2c6c9a69f31a7cbd994c089f83c6f685502db42710662582279bd7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5604eca43a40ac333769695f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:8c569ff85df822df54630a8e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis85047", + "reference_set": "precal", + "selector_sha256": "b511c416919807ba0d7d17b173b4bce330438421ff5abb6cffaa8ef8b46d5ba2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:05be2a3c1b79ef12822bad02" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5e17369919ee642f3bda78b1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91005", + "reference_set": "precal", + "selector_sha256": "726a57a79ebb457c56dc735565c6ef95fb6580ed08f80b2cf0d08248a60dde2b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7afd4e91772c22fb4269a5a2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2d777794b1e43b211dfeab49" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91013", + "reference_set": "precal", + "selector_sha256": "4bcf31fb46ab2368284a2a97a9eaddf397e21c21b6651129295cc8b21ba42144", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a7867a2f57940b77b0ae9ef5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7574209d521af200076b4fbc" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91015", + "reference_set": "precal", + "selector_sha256": "bfa5f15f155d4fae273cf551de76abea586ea1d1ee9a8bbbaa1323200bfcbe29", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f58a68c51f24cc800ae8d93d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9c6d6ed58ca3dfe780e47f84" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91030", + "reference_set": "precal", + "selector_sha256": "36c41c401142392004fca9516939b924c629506de0c533b507b3989622a5b995", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:90c1762b1a451422199a1aaa" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:96f1582d9b073d67bbdf95ac" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91034", + "reference_set": "precal", + "selector_sha256": "cb33a79b518d4e46b02ab7cb3cfd2119723fa9a3368a6b9a228818becda93128", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0395b8a5266ea04169b3c7b0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3e67e1bad8af59f8778ead39" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91054", + "reference_set": "precal", + "selector_sha256": "94f68f434d0af8f44ddd86fd29d9340c21acfa113898c62a230ff3bc67f8962e", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:37f7cac13a55533a4c75d40c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e2924c4013f183b7dd912f19" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91059", + "reference_set": "precal", + "selector_sha256": "1e6a28dfecffcb0055df88ace73aa37d0b961c13fac0e178ff2c057d3889c849", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b8707c1637280c4c40578596" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:29814de5862c9458f361de73" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91064", + "reference_set": "precal", + "selector_sha256": "162a928691fbabcf5ac532d198d5b0767136217053e8ec4e6fe2effdecdbb656", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dd96e152ca26b63e93b31df1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:20f671dddba312018d8e88c2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91072", + "reference_set": "precal", + "selector_sha256": "2a4a79a18f5f9cd804daa01d996cd4fe7de3effe9725f743403e0d6895208e3d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d2b31b87a278a146d3c656aa" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9961c629b36a90b43a5cce3c" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91103", + "reference_set": "precal", + "selector_sha256": "ee1e194942af5ceb72e4add8215f728f0f1bcbaa6872c385697322bb42b9c1ec", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4d64a22720614b6b38c7eb61" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:215b06211290d9014a16976f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91114", + "reference_set": "precal", + "selector_sha256": "a12e28216d276e28671eade764173d6aaf03ce22a460347a0d33c7c2f6f119a5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c40b8284c39686db34fb268d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:44aaeca036c49195eed53684" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91120", + "reference_set": "precal", + "selector_sha256": "451f5be1fafc4c4a0eb1f97eaf16ec3ee2fc7f72bc162953e48c06272e3c2077", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9ac244766b9878eded162391" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f6a0340a06f8889915bafdb1" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91141", + "reference_set": "precal", + "selector_sha256": "24c333f5d77f82c6f5417ad148cfe645fe6567f099785487e293b49373e8553b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1bdd7edd8891e4529c706fa4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2515fb16391ecd379c553f1e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91142", + "reference_set": "precal", + "selector_sha256": "df984d870adef8024d669e7c497a9eccb363088071feec77ef78163d6a270ca6", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:25b6048ba0ec02a707028e52" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:6818f08c0f9cb110b29f24a5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis91143", + "reference_set": "precal", + "selector_sha256": "74415573a39cabb16ab26ff84a607015ae33414958cf1c50db59aca017c3c93c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d05115c09dcefdd8da80c229" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4dfea138600d523738e7089e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92003", + "reference_set": "precal", + "selector_sha256": "9f16e608d745e811adf2d90c22c49695b91473a2b51e28c6fb6229aaf22db30f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1297965dc10b953c11e8197b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9b1ca86403c1697dcda07b45" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92006", + "reference_set": "precal", + "selector_sha256": "eae2ef9c5545411765d0f269d6519f3ab8dc8e989a605088bd679124f12e0bde", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f8d3d4e370e77fea69454c4b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9f0dd3651b175420f9b2d6be" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92035", + "reference_set": "precal", + "selector_sha256": "043ecc3d3c7b6b9a82f9e0b2ba1f3a73b1bf9e859aaf2f17c90df4932951c5dc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0d1864b846bb52fe119025c5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:20f6c6c016fbb7927a631ec5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92045", + "reference_set": "precal", + "selector_sha256": "4cb6e28f6c8eb1caf6075766e0253733e44cb6cd81274b304504a0dc989a0623", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:170b34e0b7e919ebd2556f1f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ed47b77cd391b6d06ea897ec" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92048", + "reference_set": "precal", + "selector_sha256": "8cd2dae24780c61bc054e8f7611a89ca17595328a784b5367a6252c15859fe89", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5024ad24ccbaf007e5866a74" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ff322e9c2a2f9fa2b1ef2b16" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92054", + "reference_set": "precal", + "selector_sha256": "c93ed5b6780e14309d68c782e511019dacf54198b4d0b4f4c702c86e810c6ea3", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cdcd79c086bbd4c599dca3e1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7ead98d19e3d0bb8eba667b9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92087", + "reference_set": "precal", + "selector_sha256": "887e7bcca7c3470971b84ae5fa9c99158d5129c3e0856f3117d6f524e8020419", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fc2c4c5352cb19d8e79ba181" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c8a03c95d7a7b0c757fbed7e" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92094", + "reference_set": "precal", + "selector_sha256": "4e4730e80d2137c154b65cec275d6d0ef00185f256be47724b839a99ea08b977", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:77ead52847844179ddeb7f7c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ca2827532376c0670c56bc5a" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92097", + "reference_set": "precal", + "selector_sha256": "c771a2a4d31636b8ecbe4b48f019b5987f3161e2b0d8c0e995054f7c8e8eab28", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:28598fb8436a54d339405600" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:df00574a386a9f3f1edd4cc4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92101", + "reference_set": "precal", + "selector_sha256": "9a0bd06b3aad23b211aabd441d2fa08573341d78d035a414a86d8d675cc09a71", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:afcd450a288db9d306d6878c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:602d7197d619e43e5cc1ee0f" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92114", + "reference_set": "precal", + "selector_sha256": "37b4671a8604ab56440ef5579be8f36c08d660e0424d3fa90674d4fb973629dc", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d97d440330a30e1514ab5c50" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:52a2fd3a187e66f46c561c56" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92137", + "reference_set": "precal", + "selector_sha256": "2da18a247fbeff6df681f0b9cf14d05f75f8d6d6148488eb8b4bdee1e8d7f704", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9048d6e970cd431e972724c4" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dcd0397e069dcf6b7e9522f0" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92138", + "reference_set": "precal", + "selector_sha256": "4e6b0e3edd4ea1c039c0e0f4b050d938227347b717b5354f15ab5d950b771504", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:741aac13da30f1b4cf9053b3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:31ff752ca7335d3332ea39d9" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92140", + "reference_set": "precal", + "selector_sha256": "3ebb9ab05396c4062ee35296ae6c298f701dcd2d6295ba3d65dfa2a860ebf51b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d111de7509f28ad12255d511" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9b968d49a61bed01ebf0c750" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92141", + "reference_set": "precal", + "selector_sha256": "e78429c8dd1ebbeadb50dae3e330754d865ec1c611f9b1bca5f390d45a459044", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a6d92fe328d9c4905e5c966e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:18132d9cc0d07600bec1eadd" + } + ] + }, + { + "name": "statbel_population_by_commune__nis92142", + "reference_set": "precal", + "selector_sha256": "b2d232a0b9c53cf4615f8aeac98e3739737c9ebd50b4e93d2491f19545dbd0e7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a48525eda2193af1843d1939" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9cf75513c83fc38f3c5a21fe" + } + ] + }, + { + "name": "statbel_population_by_commune__nis93010", + "reference_set": "precal", + "selector_sha256": "69bd1cd73ad2f52d8833392dc51aaa4f4531cac783d984358a257602a82ebf3b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3ed65ce48e06ec0570d77f48" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2a3d9dd05490f386d4e47107" + } + ] + }, + { + "name": "statbel_population_by_commune__nis93014", + "reference_set": "precal", + "selector_sha256": "717ebfb0d5d2e2fc80800069c6be51df2099ba9416f623708059c2821d2eb9f7", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:30c8da65b60af9893d5298ea" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7751ecb4ab11d1452cf8af5" + } + ] + }, + { + "name": "statbel_population_by_commune__nis93018", + "reference_set": "precal", + "selector_sha256": "708e0aae26c63a0e1fd71a43314d7e384172a4a4a0540b8ffe940398796bc39b", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5b2490c5d4e4256aea4d8020" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:962e1ea2c39474f3a0c807c2" + } + ] + }, + { + "name": "statbel_population_by_commune__nis93022", + "reference_set": "precal", + "selector_sha256": "425dd22f8c293a8b91f6137043c1f73c3716c1423f7929701f988f8d53e37bea", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:162b0ca73c18446cf3d89a6a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b381ab2b4fe5e1141b075da4" + } + ] + }, + { + "name": "statbel_population_by_commune__nis93056", + "reference_set": "precal", + "selector_sha256": "20f7a549c789264b6c18179d412da5c9e6212719bd2cf3a0afeae1ac55f72ec2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:73b23579a20dd10c94338502" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1dc684ab0f630390248b45ac" + } + ] + }, + { + "name": "statbel_population_by_commune__nis93088", + "reference_set": "precal", + "selector_sha256": "17bec0c890c9d34068e624dd968937f343278cb30d05fbc071c0385f5b626d0c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8dec5d05b2281f63d39bb1c3" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ffb20c24c8f1055f813ac995" + } + ] + }, + { + "name": "statbel_population_by_commune__nis93090", + "reference_set": "precal", + "selector_sha256": "911f1ebf9b54f7ad087ef10d8d31469f2c7dbb64ad07f8eae92b0c6f40a67beb", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c76fe4b075313027029e63c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:60771efacc702a59d614f841" + } + ] + }, + { + "name": "eurostat_d51a_c1_individual_income_tax", + "reference_set": "holdout", + "selector_sha256": "674877acfe42f7b4b417441258d3e399301443016dc7f92bb31671827ae3df1f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e3c28f2774b8452eeb2acd91" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:09dcccdb13ecc60173a18079" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ebae7d68bab03979e30b2b5e" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:43ed8f1ee265c20fc730cbe8" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f192fa692fafb66801f36749" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f75f901c14df79e9ba9c3d5f" + } + ] + }, + { + "name": "nbb_household_gross_disposable_income", + "reference_set": "holdout", + "selector_sha256": "b0d921970e5a519de7f8c617b73ae5311c6dea8b6069d51d2247086ce39e2451", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5e83461cf5b9b1d0292c4c7e" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5148b5898c391c11ff484930" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:63c570cc58902f2813b3bde9" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:0a84547fbe77c1fcb8b894e2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1357202f3bca9d5eabfb79a5" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8d8897e73ef895c8e8167308" + } + ] + }, + { + "name": "eurostat_household_gross_disposable_income", + "reference_set": "holdout", + "selector_sha256": "97b1ac33a58e0609903deb84d521bee5e583b7a7dcc445055f235f273008f640", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1c1549bca1f666dae3f1c6fe" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5148b5898c391c11ff484930" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:63c570cc58902f2813b3bde9" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:04dc8b1eec58416095149f14" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:0a84547fbe77c1fcb8b894e2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8d8897e73ef895c8e8167308" + } + ] + }, + { + "name": "eurostat_household_social_benefits_received", + "reference_set": "holdout", + "selector_sha256": "90a4a4f5341352071e84d04c69ead1dd5c26a8eb0361f91b34f14203cb451777", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:8c7c28463b5421308945c344" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bf52974b05acf19d1d3ccb28" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e87808ae0b585214ec608b92" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:1638c151c2262f1ce0191094" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:60776b4f41217b1852f17c91" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:64a3983fff87ee9f42466ac6" + } + ] + }, + { + "name": "eurostat_household_social_contributions_paid", + "reference_set": "holdout", + "selector_sha256": "3e292559ff7720db6d917612b9d4b6eff5095bee53ca1d9248691bcfa0e6b200", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:627f1716ff45e9ac8e2ffd22" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4c597d6ad755576b4e1faf01" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:deed6d1fc86e5e7032cbfa5e" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:20f87b9a4118de41a2f856f3" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9583978946413377f5caa2c5" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a0277e7955859433c07df1ce" + } + ] + }, + { + "name": "eurostat_household_current_taxes_paid", + "reference_set": "holdout", + "selector_sha256": "38a4d2a3a2276d345195600da54e1a809c9602360c08137f7b0cb56be354264f", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:05ca22b4bedd957b4d655ff6" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:67bb0b178a502334a5798bfa" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3638106fd28d6f6d119c0d5" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:196625a11847843058001006" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:37c2a59a25a6c6332b0bfce8" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ed20bbda07448b57ac2a7926" + } + ] + }, + { + "name": "fpb_gross_wages_and_salaries", + "reference_set": "holdout", + "selector_sha256": "4d9a02dbf906f65fabaefb636892ab35a81263d399078d77726ec9675dd6f79c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1b99b4161fa76ca1069ad5e7" + } + ], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1b99b4161fa76ca1069ad5e7" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f17958efe84e42471bf68f80" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9a10c918fc42ebf78196db46" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:acfb4cabda91df16d75eb910" + } + ] + }, + { + "name": "factor:rsz_ordinary_remuneration_cy2023_to_cy2025_observed", + "reference_set": "factor_context", + "selector_sha256": "ce4e2924e7e83ed992e881b2156398e5ec9f0ee9f8d437dbd8682231c3b5a8ad", + "base_facts": [], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2c0d2f4c10c54cee45e5777b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c1a0cfec5e2740c02758f98" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:14dba4cf6712222563513d5d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7bf0f7a2df4fce129ca59e5a" + } + ] + }, + { + "name": "factor:rsz_ordinary_remuneration_cy2024_to_cy2025_observed", + "reference_set": "factor_context", + "selector_sha256": "bbe980d704b65ae19cee79684083d75bfc8aa7af8c1cc261a6a025bb42a87a78", + "base_facts": [], + "operand_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3c1a0cfec5e2740c02758f98" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fff2864b2ff60754bce8bfcf" + } + ], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:7bf0f7a2df4fce129ca59e5a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c3b7497e94ea33df32f56635" + } + ] + } + ] +} diff --git a/packages/microcosm-build/src/microcosm/build/be/reference_profiles.json b/packages/microcosm-build/src/microcosm/build/be/reference_profiles.json new file mode 100644 index 0000000000..1230d93cfb --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/be/reference_profiles.json @@ -0,0 +1,16 @@ +{ + "schema_version": 1, + "factor_context_resource": "reference_aging.json", + "interval_resource": "reference_intervals.json", + "dimensions": { + "aging_index": { + "default": "central", + "profiles": { + "central": { + "deferred": true, + "notes": "Declared but not executable: ageing the A.1 stand-in band cuts to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair, and reference_aging.json holds no profile_input factor for it. The profile is deferred, so the resolver applies no transformation and the A.1 rows keep both prerequisites." + } + } + } + } +} diff --git a/packages/microcosm-build/src/microcosm/build/be/source_stages.json b/packages/microcosm-build/src/microcosm/build/be/source_stages.json index 3682568a6c..ad91ae7bfa 100644 --- a/packages/microcosm-build/src/microcosm/build/be/source_stages.json +++ b/packages/microcosm-build/src/microcosm/build/be/source_stages.json @@ -1,7 +1,7 @@ { "version": 1, "country": "be", - "policy": "Belgium transports the immutable public Microcosm US Build P support artifact into a synthetic Belgian population (BE-MC2). Donor records remain US support records and retain their support-stratum provenance; Belgian geography is assigned, never source-observed. Destination calibration uses Belgian administrative and national-accounts targets from sums of Chronicle facts; surveys are validation-only. The Chronicle consumer artifact and rulespec-be tree are declared unpinned placeholders, so this package remains inactive. Executable Python belongs in shared runtimes; publication remains private pending Max's decision in release_contract.json.", + "policy": "Belgium transports the immutable public Microcosm US Build P support artifact into a synthetic Belgian population (BE-MC2). Donor records remain US support records and retain their support-stratum provenance; Belgian geography is assigned, never source-observed. Destination calibration uses Belgian administrative and national-accounts targets from sums of Chronicle facts; surveys are validation-only. chronicle_feed.json pins the Chronicle consumer artifact (B3); the rulespec-be tree remains a declared unpinned placeholder, so this package remains inactive. Executable Python belongs in shared runtimes; publication remains private pending Max's decision in release_contract.json.", "stages": [ { "stage": "load_populace_us_support_pool", @@ -29,7 +29,7 @@ }, { "kind": "public_aggregate_reference", - "role": "destination_chronicle_consumer_artifact_unpinned", + "role": "destination_chronicle_consumer_artifact", "resource": "chronicle_feed.json", "format": "json", "runtime_sha256_required": true @@ -66,7 +66,7 @@ "household_weight", "age" ], - "notes": "The first artifact copies the authenticated donor pin from build/nz/source_stages.json exactly. Shared transport must preserve donor entity ids, membership, typed household design weights and support strata, retain US donor provenance, and bridge donor mass to a Chronicle-supplied Belgian population total with a conservation receipt. The next two artifacts are declared placeholders for a PolicyEngine/chronicle consumer artifact and the TheAxiomFoundation/rulespec-be tree, respectively. Their referenced resources and exact facts/manifest hashes and RuleSpec commit/tree hashes are not authored or pinned here; neither reference permits execution or a latest/main fallback. Later work must supply those pins, source materialization, unit construction, engine bindings and an executable graph. Monetary conversion and quantile mapping are later declarations; monetary catalog columns wait for the shared EUR unit (PLAN S3)." + "notes": "The first artifact copies the authenticated donor pin from build/nz/source_stages.json exactly. Shared transport must preserve donor entity ids, membership, typed household design weights and support strata, retain US donor provenance, and bridge donor mass to a Chronicle-supplied Belgian population total with a conservation receipt. The second artifact names chronicle_feed.json, which pins the PolicyEngine/chronicle consumer artifact by its facts, manifest and schema hashes (B3); the third is a declared placeholder for the TheAxiomFoundation/rulespec-be tree, whose RuleSpec commit and tree hashes are not authored here. Neither reference permits a latest/main fallback. Later work must supply the RuleSpec pins, source materialization, unit construction, engine bindings and an executable graph. Monetary conversion and quantile mapping are later declarations (B4); the catalog's money columns use the shared eur unit." } ] } diff --git a/packages/microcosm-build/src/microcosm/build/be/spec/bundle.yaml b/packages/microcosm-build/src/microcosm/build/be/spec/bundle.yaml index 0b16e17b89..598dbf0fa5 100644 --- a/packages/microcosm-build/src/microcosm/build/be/spec/bundle.yaml +++ b/packages/microcosm-build/src/microcosm/build/be/spec/bundle.yaml @@ -5,10 +5,10 @@ dataset_run: target_period: 2026 status: Inactive Belgian donor-transport specification. Donor period 2024 uses the exact US Build P artifact NZ pins (BE-MC2); target and policy period 2026 is the BE-MC0 proposal - pending Max's ruling d1902. Geography uses NIS 2025 communes. Destination Chronicle consumer-artifact - and rulespec-be tree pins remain declared placeholders in spec/sources.yaml. Earlier-period - target_references.json is inactive groundwork awaiting B3 and explicit ageing; those source - periods do not redefine the target year. Shared EUR catalog support (PLAN S3), unit construction, - pinned engine bindings, active separated references, executable geography support, graph, - receipt contract and release qualification remain later work. Publication remains private - and Max's decision. + pending Max's ruling d1902. Geography uses NIS 2025 communes. chronicle_feed.json pins the + Chronicle consumer artifact; the rulespec-be tree pin remains a declared placeholder in + spec/sources.yaml. B3's separated calibration, pre-calibration and holdout references carry + selectors only, roll 2023-2025 facts to 2026 by declared FPB ratio pairs, and stay parked + where a producer or ruling is missing. Unit construction, pinned engine bindings, executable + geography support, graph, receipt contract and release qualification remain later work. + Publication remains private and Max's decision. diff --git a/packages/microcosm-build/src/microcosm/build/be/spec/catalogs.yaml b/packages/microcosm-build/src/microcosm/build/be/spec/catalogs.yaml index 42a883fdd8..13292b56dd 100644 --- a/packages/microcosm-build/src/microcosm/build/be/spec/catalogs.yaml +++ b/packages/microcosm-build/src/microcosm/build/be/spec/catalogs.yaml @@ -10,9 +10,8 @@ columns: domain: frame_identity public_stability: internal docs: - description: Non-monetary catalog only. Monetary columns arrive with the Belgian target - references, in the shared eur unit; no USD or placeholder money unit is used for - Belgian amounts. + description: Monetary columns use the shared eur unit; no USD or placeholder money unit + is used for Belgian amounts. - key: household.household_weight contract: entity: household @@ -163,3 +162,32 @@ columns: nullable: false domain: target_assigned_geography public_stability: internal +- key: person.employment_income + contract: + entity: person + dtype: float64 + unit: eur + definition_period: year + vintage: vintage:be_target_2026 + nullable: false + domain: donor_transported_money + public_stability: internal + docs: + description: Donor wages and salaries in euros of the 2026 policy year, converted once + from USD at the ECB annual reference rate for the donor year and then uprated (BE-MC3, + proposed pending d1902). No producer until B4's currency bridge. The FPB gross-wage + holdout in holdout_references.json measures it. +- key: person.nonfarm_self_employment_income + contract: + entity: person + dtype: float64 + unit: eur + definition_period: year + vintage: vintage:be_target_2026 + nullable: false + domain: donor_transported_money + public_stability: internal + docs: + description: Donor non-farm self-employment profit in euros of the 2026 policy year, with + FX and uprating only (BE-MC3, proposed pending d1902). No producer until B4's currency + bridge. The FPB net mixed income reference in target_references.json measures it. diff --git a/packages/microcosm-build/src/microcosm/build/be/spec/sources.yaml b/packages/microcosm-build/src/microcosm/build/be/spec/sources.yaml index f575dd0420..b9092edd21 100644 --- a/packages/microcosm-build/src/microcosm/build/be/spec/sources.yaml +++ b/packages/microcosm-build/src/microcosm/build/be/spec/sources.yaml @@ -1,8 +1,8 @@ sources: - id: be_populace_us_support_contract role: be_populace_us_support_pool - sha256: c94df32e544b74e7e6a70ae587345c757d9773035fceafc98660f4ab52d09d2c - byte_size: 3747 + sha256: 3d0a362345894dc6ea230ebed7fec7ff99a972879dc60c06001635c1b4a1ec47 + byte_size: 3774 loader: kernel:load_populace_us_support_pool vintages: - vintage:be_support_pool_2024_buildp @@ -36,14 +36,14 @@ sources: stage_manifest: version: 1 country: be - policy: Belgium transports the immutable public Microcosm US Build P support artifact into - a synthetic Belgian population (BE-MC2). Donor records remain US support records and retain + policy: Belgium transports the immutable public Microcosm US Build P support artifact into a + synthetic Belgian population (BE-MC2). Donor records remain US support records and retain their support-stratum provenance; Belgian geography is assigned, never source-observed. Destination calibration uses Belgian administrative and national-accounts targets from - sums of Chronicle facts; surveys are validation-only. The Chronicle consumer artifact - and rulespec-be tree are declared unpinned placeholders, so this package remains inactive. - Executable Python belongs in shared runtimes; publication remains private pending Max's - decision in release_contract.json. + sums of Chronicle facts; surveys are validation-only. chronicle_feed.json pins the + Chronicle consumer artifact (B3); the rulespec-be tree remains a declared unpinned + placeholder, so this package remains inactive. Executable Python belongs in shared + runtimes; publication remains private pending Max's decision in release_contract.json. stages: - stage: load_populace_us_support_pool survey: Microcosm US Build P support population (US donor support records) @@ -67,7 +67,7 @@ stages: pointer on 2026-08-29. Execution must verify both SHA-256 and byte size before reading; main/latest fallback is forbidden. - kind: public_aggregate_reference - role: destination_chronicle_consumer_artifact_unpinned + role: destination_chronicle_consumer_artifact resource: chronicle_feed.json format: json runtime_sha256_required: true @@ -94,14 +94,15 @@ stages: nonnegative_outputs: - household_weight - age - notes: The first artifact copies the authenticated donor pin from build/nz/source_stages.json - exactly. Shared transport must preserve donor entity ids, membership, typed household - design weights and support strata, retain US donor provenance, and bridge donor mass to - a Chronicle-supplied Belgian population total with a conservation receipt. The next two - artifacts are declared placeholders for a PolicyEngine/chronicle consumer artifact and - the TheAxiomFoundation/rulespec-be tree, respectively. Their referenced resources and - exact facts/manifest hashes and RuleSpec commit/tree hashes are not authored or pinned - here; neither reference permits execution or a latest/main fallback. Later work must supply - those pins, source materialization, unit construction, engine bindings and an executable - graph. Monetary conversion and quantile mapping are later declarations; monetary catalog - columns wait for the shared EUR unit (PLAN S3). + notes: The first artifact copies the authenticated donor pin from + build/nz/source_stages.json exactly. Shared transport must preserve donor entity ids, + membership, typed household design weights and support strata, retain US donor provenance, + and bridge donor mass to a Chronicle-supplied Belgian population total with a conservation + receipt. The second artifact names chronicle_feed.json, which pins the + PolicyEngine/chronicle consumer artifact by its facts, manifest and schema hashes (B3); + the third is a declared placeholder for the TheAxiomFoundation/rulespec-be tree, whose + RuleSpec commit and tree hashes are not authored here. Neither reference permits a + latest/main fallback. Later work must supply the RuleSpec pins, source materialization, + unit construction, engine bindings and an executable graph. Monetary conversion and + quantile mapping are later declarations (B4); the catalog's money columns use the shared + eur unit. diff --git a/packages/microcosm-build/src/microcosm/build/be/target_references.json b/packages/microcosm-build/src/microcosm/build/be/target_references.json index 5f4b0408ea..762f2bd860 100644 --- a/packages/microcosm-build/src/microcosm/build/be/target_references.json +++ b/packages/microcosm-build/src/microcosm/build/be/target_references.json @@ -1,278 +1,4218 @@ { "country": "be", - "description": "Belgian calibration and validation schema groundwork, by reference only. Values and source projections would resolve from Chronicle consumer facts at build time, but the current Chronicle Belgian catalog does not satisfy this full selector and period surface. Criticality tiers, relative tolerances, and target_role are validated declaration metadata only: this package does not yet wire them into runtime calibration objectives or release gates. Multi-cell series remain non-executable until Chronicle fanout produces cell-pinned references. No external-oracle implementation from #264 is included. The file never copies a target value from Chronicle, a survey publication, or a validation oracle. These earlier-period declarations remain inactive groundwork; B3 must replace them with reviewed transport references and explicit ageing to the proposed 2026 policy year. Their source periods are not donor or target-period authorities.", + "schema_version": 2, + "reference_set": "calibration", + "description": "Belgian calibration references (reference set calibration), generated by tools/generate_be_target_references.py from the pinned Chronicle be feed. Selectors only: no observation is carried. Demography targets Statbel's 1 January 2026 population directly; every other row rolls a 2023-2025 fact to 2026 by a declared FPB June 2026 ratio pair or stays parked with a named reason. Method-card choices are proposed pending d1902. Belgium stays inactive.", "allowed_value_operations": [ - "identity" + "identity", + "rolled_forward_by_ratio" ], + "hierarchy": { + "providers": { + "fpb": { + "label": "Federal Planning Bureau" + }, + "onem": { + "label": "National Employment Office" + }, + "onss": { + "label": "National Social Security Office" + }, + "statbel": { + "label": "Statbel" + } + }, + "categories": { + "fpb.benefit_expenditure": { + "provider_id": "fpb", + "label": "Benefit expenditure" + }, + "fpb.self_employment": { + "provider_id": "fpb", + "label": "Self-employment income" + }, + "onem.caseloads": { + "provider_id": "onem", + "label": "Benefit caseloads" + }, + "onss.social_security": { + "provider_id": "onss", + "label": "Social security contributions" + }, + "statbel.demography": { + "provider_id": "statbel", + "label": "Demography" + }, + "statbel.fiscal_income": { + "provider_id": "statbel", + "label": "Fiscal income" + }, + "statbel.income_tax": { + "provider_id": "statbel", + "label": "Assessed income tax" + } + }, + "target_labels": { + "fpb_grapa_expenditure": "FPB income guarantee for older people (GRAPA), 2025, rolled to 2026 (parked)", + "fpb_net_mixed_income": "FPB household net mixed income, 2025, rolled to 2026 (parked)", + "fpb_unemployment_benefit_expenditure": "FPB social-security unemployment benefits, 2025, rolled to 2026 (parked)", + "onem_complete_unemployment_recipients": "ONEM/RVA complete-unemployment benefit recipients, 2024 monthly average (parked, unaged)", + "onss_worker_personal_contributions": "ONSS/RSZ worker-borne personal contributions, 2024, rolled to 2026 (parked)", + "statbel_a1_standin_declarations_by_band": "Stand-in income (d1952): Statbel A.1 declarations by broad band of total net taxable income, rolled to 2026 (parked)", + "statbel_a1_standin_taxable_income_by_band": "Stand-in income (d1952): Statbel A.1 total net taxable income by broad band, rolled to 2026 (parked)", + "statbel_b1_enrolled_tax_by_rank_group": "Statbel B.1 total enrolled tax by decile 1-9 and top percentiles 91-100, income year 2023 (inactive: checks failed)", + "statbel_b4_declarations_by_type": "Statbel B.4 joint and individual declarations (all ages, deciles 1-10 summed), rolled to 2026 (parked)", + "statbel_population_by_region_sex_age": "Statbel resident population on 1 January 2026 by region, sex and age band" + } + }, "target_references": [ { - "name": "statbel_population_by_age_sex_region", + "name": "statbel_population_by_region_sex_age__be1__male__a0_17", "ledger_selector": { "source_name": "statbel_population_structure", "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", "period_type": "calendar_year", + "period_value": 2026, "geography_level": "nuts1", - "geography_vintage": "nuts1_2025" + "geography_id": "BE1", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "0_17", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:120cd8981baad80a656e1b30" }, "entity": "person", "measure": "people", - "period": 2023, + "period": 2026, "family": "demography", - "assertion_policy": "allow_source_projection", - "period_match_policy": "exact", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", "metadata": { - "activation_status": "requires_harvested_cell_references", - "basis_period": "population_reference_2023", + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", "criticality": "release_blocking", - "criticality_tier": "demography_release", - "geography_vintage": "nuts1_2025", + "measure_kind": "prepared_column", "publisher": "Statbel", - "series": "Structure of the population: age band by sex by region", - "target_role": "calibration" + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "notes": "Non-executable series placeholder for an age-band x sex x NUTS1 count surface. Chronicle must fan this into dimension- and geography-pinned scalar references before compilation. The selector uses the typed NUTS1-2025 authority alias; a differently-vintaged source requires an explicit Chronicle projection/crosswalk. An observation for another year may enter only as a Chronicle source_projection whose fact period is the declared 2023 reference year.", - "category_id": "statbel.demography" + "filter": "population_region_be1_male_age_0_17_indicator", + "period_match_policy": "exact" }, { - "name": "statbel_fiscal_income_by_commune", + "name": "statbel_population_by_region_sex_age__be1__male__a18_64", "ledger_selector": { - "source_name": "statbel_fiscal_income", - "source_measure_id": "taxable_income", - "period_type": "tax_year", - "geography_level": "commune", - "geography_vintage": "nis_2025" + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE1", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "18_64", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:4f3a6c98b66da2c0df41224b" }, - "entity": "household", - "measure": "belgium_pit_taxable_income", - "period": 2022, - "family": "fiscal_income", - "assertion_policy": "allow_source_projection", - "period_match_policy": "exact", + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", "metadata": { - "activation_status": "requires_harvested_cell_references", - "basis_period": "assessment_income_year_2022", - "criticality": "diagnostic", - "criticality_tier": "commune_diagnostic", - "geography_vintage": "nis_2025", - "nis_vintage": "2025", + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", "publisher": "Statbel", - "series": "Fiscal statistics of income: total net taxable income by municipality", - "target_role": "calibration" + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "notes": "Non-executable series placeholder for commune fiscal-income cells; Chronicle must fan it into one commune-pinned scalar reference per selected cell before compilation. The eventual open commune series is diagnostic until the synthetic spine demonstrates adequate support. The selector binds the typed nis_2025 alias to the spine's 2025 NIS code set, and another code set must be projected and crosswalked in Chronicle rather than partially joined.", - "category_id": "statbel.fiscal_income" + "filter": "population_region_be1_male_age_18_64_indicator", + "period_match_policy": "exact" }, { - "name": "spf_finances_pit_total", + "name": "statbel_population_by_region_sex_age__be1__male__a65_plus", "ledger_selector": { - "source_name": "spf_finances_pit", - "source_measure_id": "tax_before_withholding", - "period_type": "tax_year", - "geography_level": "country" + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE1", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "65_plus", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:04cad2d2d74601f480a04878" }, "entity": "person", - "measure": "belgium_pit_federal_and_local_tax_before_withholding", - "period": 2022, - "family": "income_tax", - "assertion_policy": "allow_source_projection", - "period_match_policy": "exact", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", "metadata": { - "basis_period": "assessment_income_year_2022", + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", "criticality": "release_blocking", - "criticality_tier": "core_fiscal_release", - "publisher": "SPF Finances / Statbel", - "series": "Personal income tax: assessed total", - "target_role": "calibration" + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "notes": "National assessed PIT is compared with the Axiom-computed federal and local liability on the 2022 income-year basis. Assessment-year facts must identify the represented income year in Chronicle; a period mismatch is a projection, never a silent relabeling.", - "category_id": "spf_finances.income_tax" + "filter": "population_region_be1_male_age_65_plus_indicator", + "period_match_policy": "exact" }, { - "name": "onss_employee_contribution_total", + "name": "statbel_population_by_region_sex_age__be1__female__a0_17", "ledger_selector": { - "source_name": "onss_contributions", - "source_measure_id": "worker_article_17_uncapped_component_contribution", + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", "period_type": "calendar_year", - "geography_level": "country" + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE1", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "0_17", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:5bd4d90dbf75fa183b749e89" }, "entity": "person", - "measure": "belgium_worker_article_17_uncapped_component_contribution", - "period": 2022, - "family": "social_security", - "assertion_policy": "allow_source_projection", - "period_match_policy": "exact", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", "metadata": { - "basis_period": "calendar_year_2022", + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", "criticality": "release_blocking", - "criticality_tier": "standard_admin_release", - "publisher": "ONSS/RSZ", - "series": "Employee social-security contributions", - "target_role": "calibration" + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "notes": "Worker-side contributions on the encoded slice. Employer-side and capped-regime totals can enter as distinct references when both the engine concepts and Ledger selectors exist.", - "category_id": "onss.social_security" + "filter": "population_region_be1_female_age_0_17_indicator", + "period_match_policy": "exact" }, { - "name": "onem_unemployment_caseload", + "name": "statbel_population_by_region_sex_age__be1__female__a18_64", "ledger_selector": { - "source_name": "onem_rva_unemployment", - "source_measure_id": "receives_unemployment_benefit", + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", "period_type": "calendar_year", - "geography_level": "country" + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE1", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "18_64", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:31103ab0dcc5bb5bd663c6a3" }, "entity": "person", - "measure": "receives_unemployment_benefit", - "period": 2022, - "family": "caseloads", - "assertion_policy": "allow_source_projection", - "period_match_policy": "exact", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", "metadata": { - "basis_period": "calendar_year_2022", + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", "criticality": "release_blocking", - "criticality_tier": "caseload_release", - "publisher": "ONEM/RVA", - "series": "Unemployment benefit recipients", - "target_role": "calibration" + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "notes": "The initial caseload family uses the calendar-year recipient count. Pension and regional child-benefit caseload references can join this family when their Chronicle packages and model mappings land.", - "category_id": "onem.caseloads" + "filter": "population_region_be1_female_age_18_64_indicator", + "period_match_policy": "exact" }, { - "name": "nbb_household_disposable_income", + "name": "statbel_population_by_region_sex_age__be1__female__a65_plus", "ledger_selector": { - "source_name": "nbb_national_accounts", - "source_measure_id": "household_disposable_income", + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", "period_type": "calendar_year", - "geography_level": "country" + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE1", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "65_plus", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:633f2cac5dcab7a455322cf0" }, - "entity": "household", - "measure": "household_disposable_income", - "period": 2022, - "family": "national_accounts", - "assertion_policy": "allow_source_projection", - "period_match_policy": "exact", + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", "metadata": { - "basis_period": "calendar_year_2022", - "criticality": "diagnostic", - "criticality_tier": "validation_only", - "publisher": "NBB", - "series": "Household-sector disposable income (national accounts)", - "target_role": "validation" - }, - "notes": "Validation-tier level anchor only. The macro-realism gate may use it as a broad band, but neither the exact NBB level nor any survey- or EUROMOD-derived quantity enters the calibration objective.", - "category_id": "nbb.national_accounts" - } - ], - "target_profile": { - "schema_version": 2, - "required_families": [ - "demography", - "fiscal_income", - "income_tax", - "social_security", - "caseloads" - ], - "criticality_tiers": { - "demography_release": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", "criticality": "release_blocking", - "relative_tolerance": 0.02, - "description": "Population-structure cells: plus or minus 2 percent." + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" + }, + "filter": "population_region_be1_female_age_65_plus_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be2__male__a0_17", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE2", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "0_17", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:b73dde1c55bf24c4e9826526" }, - "core_fiscal_release": { + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", "criticality": "release_blocking", - "relative_tolerance": 0.05, - "description": "Core fiscal totals, including assessed PIT: plus or minus 5 percent." + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" + }, + "filter": "population_region_be2_male_age_0_17_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be2__male__a18_64", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE2", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "18_64", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:fac6476a0da56862ec9d981e" }, - "standard_admin_release": { + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", "criticality": "release_blocking", - "relative_tolerance": 0.1, - "description": "Administrative contribution totals: plus or minus 10 percent." + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" + }, + "filter": "population_region_be2_male_age_18_64_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be2__male__a65_plus", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE2", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "65_plus", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b1fb01f519506661f18756a" }, - "caseload_release": { + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", "criticality": "release_blocking", - "relative_tolerance": 0.15, - "description": "Administrative caseload totals: plus or minus 15 percent." + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "commune_diagnostic": { - "criticality": "diagnostic", - "relative_tolerance": 0.1, - "description": "Commune fiscal-income cells: plus or minus 10 percent, reported but not release-blocking." + "filter": "population_region_be2_male_age_65_plus_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be2__female__a0_17", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE2", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "0_17", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:5a8aaa9d9b3acbd074350860" }, - "validation_only": { - "criticality": "diagnostic", - "relative_tolerance": null, - "description": "Validation oracle only; no calibration tolerance." - } + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" + }, + "filter": "population_region_be2_female_age_0_17_indicator", + "period_match_policy": "exact" }, - "basis_periods": { - "population_reference_2023": { - "period": 2023, - "basis": "reference_date", - "fact_period_type": "calendar_year", - "mismatch_policy": "requires_source_projection", - "description": "Earlier-period population-stock reference, retained as inactive groundwork pending the B3 transport reference rewrite." - }, - "assessment_income_year_2022": { - "period": 2022, - "basis": "income_year", - "fact_period_type": "tax_year", - "mismatch_policy": "requires_source_projection", - "description": "Earlier assessed fiscal reference binds the represented 2022 income year; retained as inactive groundwork pending B3, never silently relabelled to 2026." - }, - "calendar_year_2022": { - "period": 2022, - "basis": "calendar_year", - "fact_period_type": "calendar_year", - "mismatch_policy": "requires_source_projection", - "description": "Calendar-year administrative or national-accounts fact aligned to the 2022 income reference year." - } + { + "name": "statbel_population_by_region_sex_age__be2__female__a18_64", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE2", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "18_64", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:9bd542188b4920c4fc2fc000" + }, + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" + }, + "filter": "population_region_be2_female_age_18_64_indicator", + "period_match_policy": "exact" }, - "hierarchy_reconciliations": [] - }, - "schema_version": 2, - "hierarchy": { - "providers": { - "statbel": { - "label": "Statbel" + { + "name": "statbel_population_by_region_sex_age__be2__female__a65_plus", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE2", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "65_plus", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:01f7112f0ac2cc62931fb498" }, - "spf_finances": { - "label": "FPS Finance" + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "onss": { - "label": "National Social Security Office" + "filter": "population_region_be2_female_age_65_plus_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be3__male__a0_17", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE3", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "0_17", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:e7d1c04c5969b6ef0f54a195" }, - "onem": { - "label": "National Employment Office" + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "nbb": { - "label": "National Bank of Belgium" - } + "filter": "population_region_be3_male_age_0_17_indicator", + "period_match_policy": "exact" }, - "categories": { - "statbel.demography": { - "provider_id": "statbel", - "label": "Demography" + { + "name": "statbel_population_by_region_sex_age__be3__male__a18_64", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE3", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "18_64", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:3b490791a47549aceb713316" }, - "statbel.fiscal_income": { - "provider_id": "statbel", - "label": "Fiscal income" + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "spf_finances.income_tax": { - "provider_id": "spf_finances", - "label": "Personal income tax" + "filter": "population_region_be3_male_age_18_64_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be3__male__a65_plus", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE3", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "65_plus", + "person.sex": "male" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:ad6a44e0f4906dea7225e982" }, - "onss.social_security": { - "provider_id": "onss", - "label": "Social security contributions" + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" }, - "onem.caseloads": { - "provider_id": "onem", - "label": "Benefit caseloads" + "filter": "population_region_be3_male_age_65_plus_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be3__female__a0_17", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE3", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "0_17", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:8dd7262af62fcdd238a028ba" }, - "nbb.national_accounts": { - "provider_id": "nbb", - "label": "National accounts" - } - } + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" + }, + "filter": "population_region_be3_female_age_0_17_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be3__female__a18_64", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE3", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "18_64", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:53e961ba941bbbac70214d47" + }, + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" + }, + "filter": "population_region_be3_female_age_18_64_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_population_by_region_sex_age__be3__female__a65_plus", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "source_concept": "statbel.population_structure.population", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "nuts1", + "geography_id": "BE3", + "geography_vintage": "NUTS_2024", + "record_set_id": "statbel.population_structure.cy2026.people.by_nuts1_age_sex", + "dimensions": [ + "person.age_band", + "person.sex" + ], + "dimension_values": { + "person.age_band": "65_plus", + "person.sex": "female" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:000c18596fb1e051cddc4fe4" + }, + "entity": "person", + "measure": "people", + "period": 2026, + "family": "demography", + "category_id": "statbel.demography", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_population_by_region_sex_age", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "geography_vintage": "NUTS_2024", + "geography_vintage_authority": "vintage:be_nuts1_2025", + "fit_tolerance": "0.02", + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": "2026" + }, + "filter": "population_region_be3_female_age_65_plus_indicator", + "period_match_policy": "exact" + }, + { + "name": "statbel_a1_standin_declarations__under_10k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income.taxable_income.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_under_1", + "class_1_2", + "class_2_3", + "class_3_4", + "class_4_5", + "class_5_6", + "class_6_7", + "class_7_8", + "class_8_9", + "class_9_10" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_declarations_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "under_10k", + "standin_band_lower_eur_iy2023": "0", + "standin_band_upper_eur_iy2023": "10000" + }, + "filter": "statbel_a1_standin_band_under_10k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_taxable_income__under_10k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "taxable_income_eur", + "source_concept": "statbel.fiscal_income.total_net_taxable_income", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_under_1", + "class_1_2", + "class_2_3", + "class_3_4", + "class_4_5", + "class_5_6", + "class_6_7", + "class_7_8", + "class_8_9", + "class_9_10" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "statbel_net_taxable_income_proxy_v1_eur", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_taxable_income_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_total_resources", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "money", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "under_10k", + "standin_band_lower_eur_iy2023": "0", + "standin_band_upper_eur_iy2023": "10000" + }, + "filter": "statbel_a1_standin_band_under_10k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_declarations__10k_20k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income.taxable_income.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_10_11", + "class_11_12", + "class_12_13", + "class_13_14", + "class_14_15", + "class_15_16", + "class_16_17", + "class_17_18", + "class_18_19", + "class_19_20" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_declarations_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "10k_20k", + "standin_band_lower_eur_iy2023": "10000", + "standin_band_upper_eur_iy2023": "20000" + }, + "filter": "statbel_a1_standin_band_10k_20k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_taxable_income__10k_20k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "taxable_income_eur", + "source_concept": "statbel.fiscal_income.total_net_taxable_income", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_10_11", + "class_11_12", + "class_12_13", + "class_13_14", + "class_14_15", + "class_15_16", + "class_16_17", + "class_17_18", + "class_18_19", + "class_19_20" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "statbel_net_taxable_income_proxy_v1_eur", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_taxable_income_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_total_resources", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "money", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "10k_20k", + "standin_band_lower_eur_iy2023": "10000", + "standin_band_upper_eur_iy2023": "20000" + }, + "filter": "statbel_a1_standin_band_10k_20k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_declarations__20k_30k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income.taxable_income.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_20_21", + "class_21_22", + "class_22_23", + "class_23_24", + "class_24_25", + "class_25_26", + "class_26_27", + "class_27_28", + "class_28_29", + "class_29_30" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_declarations_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "20k_30k", + "standin_band_lower_eur_iy2023": "20000", + "standin_band_upper_eur_iy2023": "30000" + }, + "filter": "statbel_a1_standin_band_20k_30k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_taxable_income__20k_30k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "taxable_income_eur", + "source_concept": "statbel.fiscal_income.total_net_taxable_income", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_20_21", + "class_21_22", + "class_22_23", + "class_23_24", + "class_24_25", + "class_25_26", + "class_26_27", + "class_27_28", + "class_28_29", + "class_29_30" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "statbel_net_taxable_income_proxy_v1_eur", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_taxable_income_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_total_resources", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "money", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "20k_30k", + "standin_band_lower_eur_iy2023": "20000", + "standin_band_upper_eur_iy2023": "30000" + }, + "filter": "statbel_a1_standin_band_20k_30k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_declarations__30k_40k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income.taxable_income.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_30_31", + "class_31_32", + "class_32_33", + "class_33_34", + "class_34_35", + "class_35_36", + "class_36_37", + "class_37_38", + "class_38_39", + "class_39_40" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_declarations_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "30k_40k", + "standin_band_lower_eur_iy2023": "30000", + "standin_band_upper_eur_iy2023": "40000" + }, + "filter": "statbel_a1_standin_band_30k_40k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_taxable_income__30k_40k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "taxable_income_eur", + "source_concept": "statbel.fiscal_income.total_net_taxable_income", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_30_31", + "class_31_32", + "class_32_33", + "class_33_34", + "class_34_35", + "class_35_36", + "class_36_37", + "class_37_38", + "class_38_39", + "class_39_40" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "statbel_net_taxable_income_proxy_v1_eur", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_taxable_income_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_total_resources", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "money", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "30k_40k", + "standin_band_lower_eur_iy2023": "30000", + "standin_band_upper_eur_iy2023": "40000" + }, + "filter": "statbel_a1_standin_band_30k_40k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_declarations__40k_50k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income.taxable_income.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_40_41", + "class_41_42", + "class_42_43", + "class_43_44", + "class_44_45", + "class_45_46", + "class_46_47", + "class_47_48", + "class_48_49", + "class_49_50" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_declarations_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "40k_50k", + "standin_band_lower_eur_iy2023": "40000", + "standin_band_upper_eur_iy2023": "50000" + }, + "filter": "statbel_a1_standin_band_40k_50k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_taxable_income__40k_50k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "taxable_income_eur", + "source_concept": "statbel.fiscal_income.total_net_taxable_income", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_40_41", + "class_41_42", + "class_42_43", + "class_43_44", + "class_44_45", + "class_45_46", + "class_46_47", + "class_47_48", + "class_48_49", + "class_49_50" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "statbel_net_taxable_income_proxy_v1_eur", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_taxable_income_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_total_resources", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "money", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "40k_50k", + "standin_band_lower_eur_iy2023": "40000", + "standin_band_upper_eur_iy2023": "50000" + }, + "filter": "statbel_a1_standin_band_40k_50k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_declarations__50k_75k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income.taxable_income.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_50_51", + "class_51_52", + "class_52_53", + "class_53_54", + "class_54_55", + "class_55_56", + "class_56_57", + "class_57_58", + "class_58_59", + "class_59_60", + "class_60_61", + "class_61_62", + "class_62_63", + "class_63_64", + "class_64_65", + "class_65_66", + "class_66_67", + "class_67_68", + "class_68_69", + "class_69_70", + "class_70_71", + "class_71_72", + "class_72_73", + "class_73_74", + "class_74_75" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_declarations_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "50k_75k", + "standin_band_lower_eur_iy2023": "50000", + "standin_band_upper_eur_iy2023": "75000" + }, + "filter": "statbel_a1_standin_band_50k_75k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 25 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_taxable_income__50k_75k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "taxable_income_eur", + "source_concept": "statbel.fiscal_income.total_net_taxable_income", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_50_51", + "class_51_52", + "class_52_53", + "class_53_54", + "class_54_55", + "class_55_56", + "class_56_57", + "class_57_58", + "class_58_59", + "class_59_60", + "class_60_61", + "class_61_62", + "class_62_63", + "class_63_64", + "class_64_65", + "class_65_66", + "class_66_67", + "class_67_68", + "class_68_69", + "class_69_70", + "class_70_71", + "class_71_72", + "class_72_73", + "class_73_74", + "class_74_75" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "statbel_net_taxable_income_proxy_v1_eur", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_taxable_income_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_total_resources", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "money", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "50k_75k", + "standin_band_lower_eur_iy2023": "50000", + "standin_band_upper_eur_iy2023": "75000" + }, + "filter": "statbel_a1_standin_band_50k_75k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 25 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_declarations__75k_100k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income.taxable_income.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_75_76", + "class_76_77", + "class_77_78", + "class_78_79", + "class_79_80", + "class_80_81", + "class_81_82", + "class_82_83", + "class_83_84", + "class_84_85", + "class_85_86", + "class_86_87", + "class_87_88", + "class_88_89", + "class_89_90", + "class_90_91", + "class_91_92", + "class_92_93", + "class_93_94", + "class_94_95", + "class_95_96", + "class_96_97", + "class_97_98", + "class_98_99", + "class_99_100" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_declarations_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "75k_100k", + "standin_band_lower_eur_iy2023": "75000", + "standin_band_upper_eur_iy2023": "100000" + }, + "filter": "statbel_a1_standin_band_75k_100k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 25 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_taxable_income__75k_100k", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "taxable_income_eur", + "source_concept": "statbel.fiscal_income.total_net_taxable_income", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_75_76", + "class_76_77", + "class_77_78", + "class_78_79", + "class_79_80", + "class_80_81", + "class_81_82", + "class_82_83", + "class_83_84", + "class_84_85", + "class_85_86", + "class_86_87", + "class_87_88", + "class_88_89", + "class_89_90", + "class_90_91", + "class_91_92", + "class_92_93", + "class_93_94", + "class_94_95", + "class_95_96", + "class_96_97", + "class_97_98", + "class_98_99", + "class_99_100" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "statbel_net_taxable_income_proxy_v1_eur", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_taxable_income_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_total_resources", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "money", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "75k_100k", + "standin_band_lower_eur_iy2023": "75000", + "standin_band_upper_eur_iy2023": "100000" + }, + "filter": "statbel_a1_standin_band_75k_100k_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 25 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_declarations__100k_plus", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income.taxable_income.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_100_plus" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_declarations_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "100k_plus", + "standin_band_lower_eur_iy2023": "100000", + "standin_band_upper_eur_iy2023": "open" + }, + "filter": "statbel_a1_standin_band_100k_plus_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 1 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_a1_standin_taxable_income__100k_plus", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "taxable_income_eur", + "source_concept": "statbel.fiscal_income.total_net_taxable_income", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.taxable_income.by_income_class_eur1000", + "dimensions": [ + "tax_return.net_taxable_income_class" + ], + "dimension_values": { + "tax_return.net_taxable_income_class": [ + "class_100_plus" + ] + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "statbel_net_taxable_income_proxy_v1_eur", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_a1_standin_taxable_income_by_band", + "activation_status": "requires_prerequisites", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_total_resources", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "money", + "required_reference_profile": "aging_index", + "required_measurement_binding": "statbel_net_taxable_income_proxy_v1", + "reference_prerequisites": "[\"reference_profile:aging_index\",\"measurement:statbel_net_taxable_income_proxy_v1\"]", + "interval_table_id": "statbel_a1_standin_bands_iy2023", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4", + "standin_band": "100k_plus", + "standin_band_lower_eur_iy2023": "100000", + "standin_band_upper_eur_iy2023": "open" + }, + "filter": "statbel_a1_standin_band_100k_plus_indicator", + "notes": "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 (rule-computed net professional income per declaration on the S2-d tax_unit) has no producer, and legal pensions, part of professional income, are not modelled until d1902. The band cuts are income-year-2023 euros: ageing them to 2026 needs a shared operation that scales interval cuts by a declared annual ratio pair. scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs dated observations through the target period; neither fits FPB's annual 2026 projections or summed bands, so reference_profile:aging_index stays deferred. The stand-in is never described as reproducing official taxable income.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 1 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:96551e39b8ae3a2a4d4fbba5", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.household_account.total_resources", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:782bd24d9f5d7ce79feadabf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_b4_declarations__joint", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income_distribution.b4.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.declaration_type_age.by_decile", + "dimensions": [ + "tax_return.age_band", + "tax_return.decile", + "tax_return.declaration_type" + ], + "dimension_values": { + "tax_return.age_band": "all", + "tax_return.decile": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "tax_return.declaration_type": "joint" + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_b4_declarations_by_type", + "activation_status": "requires_declared_tax_units", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC4", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "S1/S2-d: the declared tax-unit partition and the BE-MC4 legal-status proxy (partner pointers calibrated to these counts) are not built; joint and individual declaration indicators have no producer. B.4, like A.1, counts only declarations with positive total net taxable income (Statbel's 523,770 zero-income declarations of income year 2023 are outside it), so the indicators must count the same declared filing universe as the A.1 bands (d1952 build item 2), or the target overshoots by up to 7%.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4" + }, + "filter": "joint_declaration_indicator", + "notes": "S1/S2-d: the declared tax-unit partition and the BE-MC4 legal-status proxy (partner pointers calibrated to these counts) are not built; joint and individual declaration indicators have no producer. B.4, like A.1, counts only declarations with positive total net taxable income (Statbel's 523,770 zero-income declarations of income year 2023 are outside it), so the indicators must count the same declared filing universe as the A.1 bands (d1952 build item 2), or the target overshoots by up to 7%.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_b4_declarations__individual", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "declarations", + "source_concept": "statbel.fiscal_income_distribution.b4.declaration_count", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.declaration_type_age.by_decile", + "dimensions": [ + "tax_return.age_band", + "tax_return.decile", + "tax_return.declaration_type" + ], + "dimension_values": { + "tax_return.age_band": "all", + "tax_return.decile": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10 + ], + "tax_return.declaration_type": "individual" + }, + "assertion": "observation" + }, + "entity": "tax_unit", + "measure": "tax_units", + "period": 2026, + "family": "fiscal_income", + "category_id": "statbel.fiscal_income", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "statbel_b4_declarations_by_type", + "activation_status": "requires_declared_tax_units", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC4", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "S1/S2-d: the declared tax-unit partition and the BE-MC4 legal-status proxy (partner pointers calibrated to these counts) are not built; joint and individual declaration indicators have no producer. B.4, like A.1, counts only declarations with positive total net taxable income (Statbel's 523,770 zero-income declarations of income year 2023 are outside it), so the indicators must count the same declared filing universe as the A.1 bands (d1952 build item 2), or the target overshoots by up to 7%.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t07_total_population", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2023", + "target_period": "2026", + "reference_value_kind": "count", + "declaration_universe": "filed declarations with positive total net taxable income; zero-income declarations are outside A.1, B.1 and B.4" + }, + "filter": "individual_declaration_indicator", + "notes": "S1/S2-d: the declared tax-unit partition and the BE-MC4 legal-status proxy (partner pointers calibrated to these counts) are not built; joint and individual declaration indicators have no producer. B.4, like A.1, counts only declarations with positive total net taxable income (Statbel's 523,770 zero-income declarations of income year 2023 are outside it), so the indicators must count the same declared filing universe as the A.1 bands (d1952 build item 2), or the target overshoots by up to 7%.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base", + "expected_member_count": 10 + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0f703b4cdbc4b51ce2a9674", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "level_thousand", + "source_concept": "fpb.economic_outlook_2026_2031.t07.published_cell", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2023.labour_market.levels.total_population", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:216674c54ce3810c24e7434c", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "statbel_b1_enrolled_tax__decile_01", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_01" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:0b2b5e737d0305a356532b3b" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_01_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__decile_02", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_02" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:c6ca78a1c708058c93a0f976" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_02_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__decile_03", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_03" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:109397450babe832524a5c97" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_03_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__decile_04", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_04" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:af9649af17a29cc5dd903c59" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_04_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__decile_05", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_05" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:7a4e850043abefabfa3ed8b0" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_05_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__decile_06", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_06" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:72b19dd783c1bc3da72aae0d" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_06_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__decile_07", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_07" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:076e8b7e6856e7e8a9c7352d" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_07_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__decile_08", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_08" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:5075cc8a100e029980205e4c" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_08_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__decile_09", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.decile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "decile_09" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:de89896fe88dcc2b7deb9565" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_decile_09_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_091", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_091" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:46f239dcfed5e9445903306d" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_091_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_092", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_092" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:0f8b2d677fb9b21b13760d44" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_092_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_093", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_093" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:7e02cda58a39d38f57c9d523" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_093_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_094", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_094" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:bcf3324ba69806b46180b770" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_094_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_095", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_095" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:8a2ba3c05dfec9a9a7f2e875" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_095_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_096", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_096" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:1ce91b227610925d0740895b" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_096_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_097", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_097" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb3fdf0a97324fdd08a83c92" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_097_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_098", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_098" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:1a885fe815f21b066406344a" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_098_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_099", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_099" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:707eddca745f7611662f6d46" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_099_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "statbel_b1_enrolled_tax__percentile_100", + "ledger_selector": { + "source_name": "statbel_fiscal_income_distribution", + "source_measure_id": "total_tax_eur", + "source_concept": "statbel.fiscal_income_distribution.b1.total_tax", + "entity_name": "return", + "period_type": "tax_year", + "period_value": 2023, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "statbel.fiscal_income_distribution.income_year2023.by_decile.top_decile_percentile_values", + "dimensions": [ + "tax_return.rank_group" + ], + "dimension_values": { + "tax_return.rank_group": "percentile_100" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:fefd7bd484d320ad42b5f7fe" + }, + "entity": "tax_unit", + "measure": "statbel_b1_enrolled_tax_proxy_v1_eur", + "period": 2023, + "family": "income_tax", + "category_id": "statbel.income_tax", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "statbel_b1_enrolled_tax_by_rank_group", + "activation_status": "inactive_pending_b1_checks", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Statbel", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC5", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023" + }, + "filter": "statbel_b1_rank_group_percentile_100_indicator", + "notes": "BE-MC5 activates B.1 only after its tax definition, income ranking and policy year are checked. All three checks fail or cannot be completed from the documents (reference_inventory.json b1_checks), so B.1 stays inactive and unaged at its source period.", + "signed": true, + "period_match_policy": "exact" + }, + { + "name": "onss_worker_personal_contributions", + "ledger_selector": { + "source_name": "onss_contributions", + "source_measure_id": "worker_article_17_uncapped_component_contribution", + "source_concept": "onss.declared_contributions.personal_social_security_contributions_worker_borne", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "onss.contributions.cy2024.worker_personal_contributions.country", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:b6355af1bd917ae71a7df3ae", + "assertion": "observation" + }, + "entity": "person", + "measure": "belgium_worker_article_17_uncapped_component_contribution", + "period": 2026, + "family": "social_security", + "category_id": "onss.social_security", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "onss_worker_personal_contributions", + "activation_status": "requires_rules_binding", + "criticality": "release_blocking", + "measure_kind": "rules_output", + "publisher": "National Social Security Office", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "W3: needs a pinned rulespec-be binding for be/statutes/social_security/workers/contribution_rates.yaml on the transported frame, the S5 pre-calibration allowlist entry for it, and B4's euro conversion of the donor inputs it reads.", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_actual_social_contributions", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2024", + "target_period": "2026" + }, + "notes": "W3: needs a pinned rulespec-be binding for be/statutes/social_security/workers/contribution_rates.yaml on the transported frame, the S5 pre-calibration allowlist entry for it, and B4's euro conversion of the donor inputs it reads.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.actual_social_contributions", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:a66b02d02ed92c58e542e7ed", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2024.household_account.actual_social_contributions", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:3f953c8cbe00192899c93c3b", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "onem_complete_unemployment_recipients", + "ledger_selector": { + "source_name": "onem_rva_unemployment", + "source_measure_id": "receives_unemployment_benefit", + "source_concept": "onem_rva.complete_unemployment.monthly_average_recipients", + "entity_name": "person", + "period_type": "calendar_year", + "period_value": 2024, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "onem_rva.unemployment.cy2024.complete_unemployment.country", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:466ad99667f2d50f94a42726" + }, + "entity": "person", + "measure": "receives_unemployment_benefit", + "period": 2024, + "family": "caseloads", + "category_id": "onem.caseloads", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "onem_complete_unemployment_recipients", + "activation_status": "requires_ageing_ruling_and_receipt_binding", + "criticality": "release_blocking", + "measure_kind": "receipt_flag", + "publisher": "National Employment Office", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "No declared ageing pair: FPB publishes jobseeker levels (BFP unemployment, +0.6% 2026/2025), not benefit recipients, and its unemployment benefit spending falls 24% in 2026, so the two series point opposite ways and neither ages a recipient count. Kept unaged at its 2024 source period. Also needs W3's receipt contract for unemployment.", + "ageing": "none declared: no recipient series" + }, + "notes": "No declared ageing pair: FPB publishes jobseeker levels (BFP unemployment, +0.6% 2026/2025), not benefit recipients, and its unemployment benefit spending falls 24% in 2026, so the two series point opposite ways and neither ages a recipient count. Kept unaged at its 2024 source period. Also needs W3's receipt contract for unemployment.", + "period_match_policy": "exact" + }, + { + "name": "fpb_unemployment_benefit_expenditure", + "ledger_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.social_benefits_detail.social_security_cash_unemployment", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:45ad11668f4cf559bb3c388f", + "assertion": "observation" + }, + "entity": "household", + "measure": "belgium_unemployment_ordinary_annual_payable_amount", + "period": 2026, + "family": "benefit_expenditure", + "category_id": "fpb.benefit_expenditure", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "fpb_unemployment_benefit_expenditure", + "activation_status": "requires_receipt_contract_and_rules_binding", + "criticality": "release_blocking", + "measure_kind": "rules_output", + "publisher": "Federal Planning Bureau", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "W3: needs a pinned rulespec-be binding for be/regulations/unemployment/pilot_oracle_pipeline.yaml on the transported frame, the S5 pre-calibration allowlist entry for it, and B4's euro conversion of the donor inputs it reads. Unemployment history inputs and W3's receipt contract are also missing.", + "ageing_target_equals": "FPB's 2026 projection of the base's own row", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t24_social_security_cash_unemployment", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2025", + "target_period": "2026" + }, + "notes": "W3: needs a pinned rulespec-be binding for be/regulations/unemployment/pilot_oracle_pipeline.yaml on the transported frame, the S5 pre-calibration allowlist entry for it, and B4's euro conversion of the donor inputs it reads. Unemployment history inputs and W3's receipt contract are also missing.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.social_benefits_detail.social_security_cash_unemployment", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:61a041fd9dff09745593e4da", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.social_benefits_detail.social_security_cash_unemployment", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:45ad11668f4cf559bb3c388f", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "fpb_grapa_expenditure", + "ledger_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.social_benefits_detail.federal_government_cash_income_guarantee_for_older_people", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:776e68a9e93ca03151c53baf", + "assertion": "observation" + }, + "entity": "person", + "measure": "belgium_grapa_income_guarantee_for_elderly_annual_amount", + "period": 2026, + "family": "benefit_expenditure", + "category_id": "fpb.benefit_expenditure", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "fpb_grapa_expenditure", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "rules_output", + "publisher": "Federal Planning Bureau", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC6", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "GRAPA is means-tested on pension income, and legal pensions are not modelled until d1902 settles BE-MC3's pension route. W3: needs a pinned rulespec-be binding for be/statutes/income_guarantee_for_elderly/payable_amount.yaml on the transported frame, the S5 pre-calibration allowlist entry for it, and B4's euro conversion of the donor inputs it reads.", + "ageing_target_equals": "FPB's 2026 projection of the base's own row", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t24_federal_cash_income_guarantee_for_older_people", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2025", + "target_period": "2026" + }, + "notes": "GRAPA is means-tested on pension income, and legal pensions are not modelled until d1902 settles BE-MC3's pension route. W3: needs a pinned rulespec-be binding for be/statutes/income_guarantee_for_elderly/payable_amount.yaml on the transported frame, the S5 pre-calibration allowlist entry for it, and B4's euro conversion of the donor inputs it reads.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.social_benefits_detail.federal_government_cash_income_guarantee_for_older_people", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:13ee4f4b5a469ddeb487eafc", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t24.published_cell", + "entity_name": "government", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.social_benefits_detail.federal_government_cash_income_guarantee_for_older_people", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:776e68a9e93ca03151c53baf", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + }, + { + "name": "fpb_net_mixed_income", + "ledger_selector": { + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.household_account.net_mixed_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0db8ec51ab64a7f7519fc5d4", + "assertion": "observation" + }, + "entity": "person", + "measure": "nonfarm_self_employment_income", + "period": 2026, + "family": "self_employment", + "category_id": "fpb.self_employment", + "assertion_policy": "allow_source_projection", + "metadata": { + "contract_target_id": "fpb_net_mixed_income", + "activation_status": "requires_currency_bridge_b4", + "criticality": "release_blocking", + "measure_kind": "transported_input", + "publisher": "Federal Planning Bureau", + "target_role": "calibration", + "reference_set": "calibration", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "fit_tolerance": "0.05", + "parking_reason": "B4: BE-MC3 gives self-employment income FX and uprating only, then calibrates its aggregate; the euro column has no producer until B4's currency bridge. FPB's net mixed income also covers farm income, which the donor carries separately.", + "ageing_target_equals": "FPB's 2026 projection of the base's own row", + "ageing": "rolled_forward_by_ratio", + "ageing_pair": "fpb_t11_net_mixed_income", + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": "2025", + "target_period": "2026" + }, + "notes": "B4: BE-MC3 gives self-employment income FX and uprating only, then calibrates its aggregate; the euro column has no producer until B4's currency bridge. FPB's net mixed income also covers farm income, which the donor carries separately.", + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + { + "role": "base" + }, + { + "role": "numerator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2026, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2026.household_account.net_mixed_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:82a8d913db8aa3594a182492", + "assertion": "source_projection" + }, + { + "role": "denominator", + "source_name": "fpb_economic_outlook", + "source_measure_id": "amount_meur", + "source_concept": "fpb.economic_outlook_2026_2031.t11.published_cell", + "entity_name": "household", + "period_type": "calendar_year", + "period_value": 2025, + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "fpb.economic_outlook_2026_2031.cy2025.household_account.net_mixed_income", + "dimensions": [], + "aggregate_fact_key": "ledger.aggregate_fact.v2:0db8ec51ab64a7f7519fc5d4", + "assertion": "observation" + } + ], + "period_match_policy": "latest_not_after" + } + ], + "target_profile": { + "schema_version": 1, + "hierarchy_reconciliations": [] } } diff --git a/packages/microcosm-build/tests/engine_free/shared/test_be_target_references.py b/packages/microcosm-build/tests/engine_free/shared/test_be_target_references.py new file mode 100644 index 0000000000..cc45cb43e4 --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/shared/test_be_target_references.py @@ -0,0 +1,1777 @@ +"""Belgian reference documents: separation, ageing pairs, bands and a pinned-feed audit. + +The static tests read the committed documents. The feed audit needs the +Chronicle ``be`` consumer artifact, which CI does not hold: set +``BE_CHRONICLE_ARTIFACT`` to its directory to run it, as for NZ. +""" + +from __future__ import annotations + +import copy +import functools +import json +import math +import os +import re +from fractions import Fraction +from pathlib import Path +from unittest import mock + +import pytest +from hypothesis import HealthCheck, example, given, settings +from hypothesis import strategies as st + +from microcosm.build.country_spec import ( + _carried_value_keys, + _typed_geography_vintage_aliases, + load_country_spec, +) +from microcosm.build.ledger_artifact import ( + ChronicleFeedPinMismatchError, + chronicle_feed_identity, + load_ledger_consumer_artifact, +) +from microcosm.build.ledger_targets import ( + compile_ledger_target_references, + fact_matches_selector, + reference_fact_selectors, +) +from microcosm.build.reference_factors import ( + replay_reference_factor, + validate_factor_context, +) +from microcosm.build.reference_intervals import ( + BELOW_FIRST_CUT, + classify_records, + interval_table, + validate_interval_document, +) +from microcosm.build.reference_profiles import ( + REFERENCE_DOCUMENT_KEYS, + reference_document_sha256, + resolve_reference_profiles, + validate_reference_resolution, +) +from microcosm.build.transport.compose import ( + load_transport_spec, + validate_transport_activation, +) +from microcosm.build.transport.target_kernels import parse_reference_document +from test_support.paths import paths_for +from tools import generate_be_target_references as generator + +_SPEC = paths_for("microcosm-build").package / "src/microcosm/build/be" +SETS = { + "calibration": "target_references.json", + "precal": "precal_references.json", + "holdout": "holdout_references.json", +} +# The committed selectors' fields. The shared vocabulary admits more, including +# other fact keys that neither the pin check nor the cell check reads. +_SELECTOR_FIELDS = frozenset( + { + "aggregate_fact_key", + "assertion", + "dimension_values", + "dimensions", + "entity_name", + "geography_id", + "geography_level", + "geography_vintage", + "period_type", + "period_value", + "record_set_id", + "source_concept", + "source_measure_id", + "source_name", + } +) +GENERATED = ( + *SETS.values(), + "reference_aging.json", + "reference_intervals.json", + "reference_inventory.json", + "reference_profiles.json", +) +BELGIAN_LEVELS = {"country": {"BE"}, "nuts1": {"BE1", "BE2", "BE3"}} +# B1's schema-2 profile required these; schema 1 can't, so this package test does. +REQUIRED_FAMILIES = { + "demography", + "fiscal_income", + "income_tax", + "social_security", + "caseloads", +} +# Rows whose Eurostat base equals the pair's denominator without being its fact. +BASES_EQUAL_TO_DENOMINATOR = { + "eurostat_household_current_taxes_paid", + "eurostat_household_social_benefits_received", + "eurostat_household_social_contributions_paid", +} +A1_CLASSES = [ + (0, 1000, "class_under_1"), + *( + (1000 * low, 1000 * (low + 1), f"class_{low}_{low + 1}") + for low in range(1, 100) + ), + (100_000, None, "class_100_plus"), +] + + +def _document(name): + return json.loads((_SPEC / name).read_text()) + + +def _documents(): + return {reference_set: _document(name) for reference_set, name in SETS.items()} + + +def _rows(reference_set="calibration"): + return _document(SETS[reference_set])["target_references"] + + +def _parsed(rows, hierarchy): + return parse_reference_document( + { + "country": "be", + "schema_version": 2, + "hierarchy": hierarchy, + "target_references": rows, + }, + country="be", + ) + + +def _selectors(row): + """The base selector (with any geography overlay), then each operand.""" + + base = dict(row["ledger_selector"]) + operands = row.get("value_operands", []) + for operand in operands: + if operand.get("role") == "base": + base.update( + { + key: value + for key, value in operand.items() + if key in {"geography_level", "geography_id"} + } + ) + yield base + for operand in operands: + if operand.get("role") != "base": + yield {key: value for key, value in operand.items() if key != "role"} + + +def _row_cells(row): + """One identity per cell a row reads, whether pinned by key or by roster. + + A pinned selector also names its record set, measure, geography and + dimension values, so pinned and roster cells share one identity and a + holdout pinning a fact that calibration reads through a roster collides. + """ + + cells = set() + for selector in _selectors(row): + pins = dict(selector.get("dimension_values", {})) + rosters = [key for key, value in pins.items() if isinstance(value, list)] + members = pins[rosters[0]] if rosters else [None] + areas = selector["geography_id"] + for area in areas if isinstance(areas, list) else [areas]: + for member in members: + if rosters: + pins[rosters[0]] = member + cells.add( + ( + selector["record_set_id"], + selector["source_measure_id"], + area, + json.dumps(pins, sort_keys=True), + ) + ) + return cells + + +def _separation_violations(documents): + """Every way a row could sit in two sets or a holdout could feed calibration.""" + + violations = [] + names, bases, reads, measures = {}, {}, {}, {} + for reference_set, document in documents.items(): + for row in document["target_references"]: + if row["metadata"]["reference_set"] != reference_set: + violations.append(("misfiled", row["name"])) + names.setdefault(row["name"], set()).add(reference_set) + base = { + cell for cell in _row_cells({"ledger_selector": row["ledger_selector"]}) + } + for cell in base: + bases.setdefault(cell, set()).add(reference_set) + for cell in _row_cells(row): + reads.setdefault(cell, set()).add(reference_set) + measures.setdefault(row["measure"], set()).add(reference_set) + violations += [("name", name) for name, sets in names.items() if len(sets) > 1] + violations += [("base", cell) for cell, sets in bases.items() if len(sets) > 1] + violations += [ + ("holdout_read", cell) + for cell, sets in reads.items() + if "holdout" in sets and len(sets) > 1 + ] + violations += [ + ("holdout_measure", measure) + for measure, sets in measures.items() + if "holdout" in sets and len(sets) > 1 + ] + return violations + + +def _reads(): + return _document("reference_inventory.json")["resolved_reads"] + + +def _keys(facts): + return [key for fact in facts for key in fact.values()] + + +def _unpinned(row): + """Whether a row's selectors read through a spelling no check here can see. + + The pin check reads aggregate keys and the cell check reads measures and + dimension values literally, but the resolver skips an empty field, admits + other fact keys and checks only the pins a selector names. So each selector + keeps to the committed fields, leaves none empty, pins every dimension it + declares with at most one roster, and pins an aggregate key or, for a base + selector, a roster. The feed audit stays the proof: these shapes catch hand + edits, and a roster's members bind to no listed key without the artifact. + """ + + for index, selector in enumerate(_selectors(row)): + pins = selector.get("dimension_values") or {} + rosters = [value for value in pins.values() if isinstance(value, list)] + members = [ + member + for value in pins.values() + for member in (value if isinstance(value, list) else [value]) + ] + if ( + set(selector) - _SELECTOR_FIELDS + or any(value is None or value == "" for value in selector.values()) + or not isinstance(selector.get("dimensions"), list) + or set(pins) != set(selector["dimensions"]) + or len(rosters) > 1 + or not all(rosters) + or not all(isinstance(item, str | int) and item != "" for item in members) + or not (selector.get("aggregate_fact_key") or (index == 0 and rosters)) + ): + return True + return False + + +def _pin_violations(documents, factors, listed): + """Each selector must pin what its resolved-read entry lists, under its set. + + A digest ties an entry to its selectors but not to the keys it lists, so a + selector rewritten with a recomputed digest would keep its old keys. Roster + selectors name no key, and only the feed audit proves what they resolve to. + """ + + violations = [] + for reference_set, document in documents.items(): + for row in document["target_references"]: + if _unpinned(row): + violations.append(("unpinned", row["name"])) + entry = listed.get(row["name"]) + if entry is None: + continue + if entry["reference_set"] != reference_set: + violations.append(("relabelled", row["name"])) + base = row["ledger_selector"].get("aggregate_fact_key") + operands = { + operand["aggregate_fact_key"] + for operand in row.get("value_operands", []) + if "aggregate_fact_key" in operand + } + if ( + base is not None and _keys(entry["base_facts"]) != [base] + ) or not operands <= set(_keys(entry["operand_facts"])): + violations.append(("pin", row["name"])) + for factor in factors["factors"]: + declaration = factor["declaration"] + name = f"factor:{declaration['id']}" + pins = { + slot["selector"]["aggregate_fact_key"] + for schedule in ("source_schedule", "target_schedule") + for slot in declaration[schedule] + } + if name not in listed: + continue + if pins != set(_keys(listed[name]["operand_facts"])): + violations.append(("pin", name)) + if listed[name]["reference_set"] != "factor_context": + violations.append(("relabelled", name)) + return violations + + +def _read_violations(documents, factors, reads): + """Disjointness on the listed feed keys, for every selector as committed. + + A digest ties each listed entry to its row's exact selectors, so a selector + respelled to dodge the cell check fails here. The pin check ties each pinned + key and each row's set to its entry and refuses a spelling these checks can't + read, and the feed audit proves every listed key. Partition totals count as + read, because a holdout on a band set's total shares its information. + """ + + listed = {entry["name"]: entry for entry in reads} + violations = _pin_violations(documents, factors, listed) + expected = { + row["name"]: generator.selector_digest(row) + for document in documents.values() + for row in document["target_references"] + } | { + f"factor:{entry['declaration']['id']}": generator.factor_digest( + entry["declaration"] + ) + for entry in factors["factors"] + } + violations += [("unlisted", name) for name in expected.keys() - listed.keys()] + violations += [("unlisted", name) for name in listed.keys() - expected.keys()] + violations += [ + ("digest", name) + for name in expected.keys() & listed.keys() + if listed[name]["selector_sha256"] != expected[name] + ] + facts, semantic, bases = {}, {}, {} + for entry in reads: + reference_set = entry["reference_set"] + for key in _keys(entry["base_facts"]): + bases.setdefault(key, set()).add(reference_set) + facts.setdefault(key, set()).add(reference_set) + for key in _keys(entry["operand_facts"]): + facts.setdefault(key, set()).add(reference_set) + total = entry.get("partition_total") + for key in _keys([*entry["semantic_facts"], *([total] if total else [])]): + semantic.setdefault(key, set()).add(reference_set) + violations += [("shared_base", key) for key, sets in bases.items() if len(sets) > 1] + violations += [ + (kind, key) + for kind, index in (("holdout_fact", facts), ("holdout_semantic", semantic)) + for key, sets in index.items() + if "holdout" in sets and len(sets) > 1 + ] + return violations + + +def _vintage_violations(rows, layers): + """Each subnational row must map its vintage to its layer's typed authority.""" + + violations = [] + for row in rows: + selector, metadata = row["ledger_selector"], row["metadata"] + level = selector["geography_level"] + if level == "country": + continue + vintage, _ = generator.GEOGRAPHY_VINTAGES.get(level, (None, None)) + if ( + selector["geography_vintage"] != vintage + or metadata.get("geography_vintage") != vintage + or metadata.get("geography_vintage_authority") != layers.get(level) + ): + violations.append(row["name"]) + return violations + + +def _money_context_violations(package): + """One factor context must serve references and money, as #1436 can't check. + + Run entry validates each money node's context on its own, so two contexts + could carry one factor id under different declarations. A non-diagnostic + factor may live only in reference_profiles.factor_context_resource, and + every money.normalize@1 node, in the graph or in entitlement rows, must + select that resource. + """ + + context = json.loads((package / "reference_profiles.json").read_text())[ + "factor_context_resource" + ] + stem = context.removesuffix(".json") + + def nodes(value): + if isinstance(value, dict): + if value.get("kernel") == "money.normalize@1": + yield value + value = list(value.values()) + if isinstance(value, list): + for item in value: + yield from nodes(item) + + violations = [] + for path in sorted(package.glob("*.json")): + document = json.loads(path.read_text()) + factors = document.get("factors") if isinstance(document, dict) else None + if path.name != context and isinstance(factors, list): + violations += [ + ("stray_factor", path.name) + for entry in factors + if entry["declaration"]["purpose"] != "diagnostic" + ] + for node in nodes(document): + selection = node.get("params", {}).get("factor_context") + resource = selection.get("resource") if isinstance(selection, dict) else "" + if str(resource).removesuffix(".json") != stem: + violations.append(("money_context", path.name)) + return violations + + +@functools.cache +def _rolled_rows(): + """Every rolled row across the three sets, as JSON text to copy per example.""" + + return tuple( + json.dumps(row) + for reference_set in SETS + for row in _rows(reference_set) + if row.get("value_operation") == "rolled_forward_by_ratio" + ) + + +def _year_free(record_set_id): + return re.sub(r"\.cy\d{4}\.", ".cy*.", record_set_id) + + +def _pair_violations(row): + """A rolled row's operands must be one FPB row at the declared periods.""" + + if row.get("value_operation") != "rolled_forward_by_ratio": + return [] + base, numerator, denominator = row["value_operands"] + problems = [] + if [base["role"], numerator["role"], denominator["role"]] != [ + "base", + "numerator", + "denominator", + ]: + problems.append("roles") + for key in ( + "source_name", + "source_measure_id", + "source_concept", + "entity_name", + "geography_level", + "geography_id", + "dimensions", + ): + if numerator.get(key) != denominator.get(key): + problems.append(key) + if _year_free(numerator["record_set_id"]) != _year_free( + denominator["record_set_id"] + ): + problems.append("row") + pair = generator.AGEING_PAIRS.get(row["metadata"].get("ageing_pair")) + if pair is None: + problems.append("undeclared_pair") + else: + expected = f"{generator.FPB}cy*.{pair['row']}" + if _year_free(numerator["record_set_id"]) != expected: + problems.append("pair_row") + if set(pair["operands"]) != { + numerator["period_value"], + denominator["period_value"], + }: + problems.append("pair_periods") + if ( + numerator["period_value"] != row["period"] + or numerator["assertion"] != "source_projection" + ): + problems.append("numerator_period") + if ( + denominator["period_value"] != row["ledger_selector"]["period_value"] + or denominator["assertion"] != "observation" + or str(denominator["period_value"]) != row["metadata"]["source_period"] + or str(row["period"]) != row["metadata"]["target_period"] + ): + problems.append("denominator_period") + return problems + + +def _belgian_selector(selector): + level, area = selector["geography_level"], selector["geography_id"] + if level == "commune": + areas = area if isinstance(area, list) else [area] + return all(re.fullmatch(r"[1-9][0-9]{4}", code) for code in areas) + return area in BELGIAN_LEVELS.get(level, set()) + + +def test_documents_are_value_free_uniquely_named_and_registered(): + package = _document("country_package.json") + declared = {row["path"] for row in package["resources"]} + assert {"chronicle_feed.json", *GENERATED} <= declared + spec = load_country_spec(_SPEC) + assert {"chronicle_feed.json", *GENERATED} <= set(spec.resources) + for name in GENERATED: + payload = _document(name) + if name not in {"reference_aging.json", "reference_inventory.json"}: + # Factor receipts and the inventory record evidence; references, + # intervals and profiles carry no observation at any depth. + assert not _carried_value_keys(payload), name + if name in SETS.values(): + rows = payload["target_references"] + assert len({row["name"] for row in rows}) == len(rows) + assert payload["schema_version"] == 2 + assert payload["target_profile"] == { + "schema_version": 1, + "hierarchy_reconciliations": [], + } + for row in rows: + if row["metadata"]["activation_status"] != "active": + assert row["metadata"]["parking_reason"].strip(), row["name"] + assert row["metadata"]["method_card_status"] == ( + "proposed_pending_d1902" + ) + + +def test_counts_by_family_and_reference_set(): + inventory = _document("reference_inventory.json")["reference_counts"] + assert {name: counts["total"] for name, counts in inventory.items()} == { + "target_references.json": 60, + "precal_references.json": 565, + "holdout_references.json": 7, + } + assert inventory["target_references.json"]["by_family"] == { + "demography": 18, + "fiscal_income": 18, + "income_tax": 19, + "social_security": 1, + "caseloads": 1, + "benefit_expenditure": 2, + "self_employment": 1, + } + for reference_set, name in SETS.items(): + rows = _rows(reference_set) + assert inventory[name]["total"] == len(rows) + active = { + reference_set: sum( + row["metadata"]["activation_status"] == "active" + for row in _rows(reference_set) + ) + for reference_set in SETS + } + assert active == {"calibration": 18, "precal": 565, "holdout": 0} + + +def test_reference_sets_are_separated(): + assert _separation_violations(_documents()) == [] + holdout = _rows("holdout") + assert {row["metadata"]["target_role"] for row in holdout} == {"validation"} + assert {row["metadata"]["target_role"] for row in _rows("precal")} == { + "pre_calibration" + } + + +@pytest.mark.parametrize( + ("mutant", "kind"), + [ + ("calibration_row_in_holdout", "name"), + ("precal_row_in_calibration", "base"), + ("holdout_reads_calibration_operand", "holdout_read"), + ("holdout_measures_calibration_column", "holdout_measure"), + ("calibration_reuses_holdout_column_on_another_entity", "holdout_measure"), + ("holdout_base_is_calibration_fact", "holdout_read"), + ("holdout_pins_a_class_calibration_reads_by_roster", "holdout_read"), + ], +) +def test_separation_mutants_are_caught(mutant, kind): + documents = copy.deepcopy(_documents()) + calibration = documents["calibration"]["target_references"] + holdout = documents["holdout"]["target_references"] + if mutant == "calibration_row_in_holdout": + row = copy.deepcopy(calibration[0]) + row["metadata"]["reference_set"] = "holdout" + holdout.append(row) + elif mutant == "precal_row_in_calibration": + row = copy.deepcopy(documents["precal"]["target_references"][0]) + row["name"] += "__copy" + row["metadata"]["reference_set"] = "calibration" + calibration.append(row) + elif mutant == "holdout_reads_calibration_operand": + donor = next( + row + for row in calibration + if row["metadata"].get("ageing_pair") == "fpb_t11_total_resources" + ) + holdout[0]["value_operands"][1] = copy.deepcopy(donor["value_operands"][1]) + elif mutant == "holdout_measures_calibration_column": + holdout[0]["entity"], holdout[0]["measure"] = "tax_unit", "tax_units" + elif mutant == "calibration_reuses_holdout_column_on_another_entity": + donor = next( + row for row in calibration if row["entity"] != holdout[0]["entity"] + ) + donor["measure"] = holdout[0]["measure"] + elif mutant == "holdout_pins_a_class_calibration_reads_by_roster": + band = next( + row + for row in calibration + if row["name"] == "statbel_a1_standin_declarations__10k_20k" + ) + selector = copy.deepcopy(band["ledger_selector"]) + selector["dimension_values"] = {generator.A1_CLASS: "class_12_13"} + selector["aggregate_fact_key"] = "ledger.aggregate_fact.v2:pinned-class" + holdout[0]["ledger_selector"] = selector + else: + donor = next( + row + for row in calibration + if row["name"] == "onss_worker_personal_contributions" + ) + holdout[0]["ledger_selector"] = copy.deepcopy(donor["ledger_selector"]) + assert kind in {violation[0] for violation in _separation_violations(documents)} + + +def test_resolved_reads_bind_every_selector_and_stay_disjoint(): + assert ( + _read_violations(_documents(), _document("reference_aging.json"), _reads()) + == [] + ) + + +@pytest.mark.parametrize( + ("mutant", "kind"), + [ + ("respelled_selector", "digest"), + ("recomputed_digest_on_a_rewritten_base", "pin"), + ("recomputed_digest_on_a_rewritten_operand", "pin"), + ("factor_entry_keeps_an_old_key", "pin"), + ("relabelled_entry", "relabelled"), + ("relabelled_factor_entry", "relabelled"), + ("dropped_entry", "unlisted"), + ("holdout_reads_a_band_class", "holdout_fact"), + ("holdout_reads_a_factor_operand", "holdout_fact"), + ("holdout_on_a_partition_total", "holdout_semantic"), + ("calibration_base_in_precal", "shared_base"), + ], +) +def test_read_mutants_are_caught(mutant, kind): + documents, reads = copy.deepcopy(_documents()), copy.deepcopy(_reads()) + entries = {entry["name"]: entry for entry in reads} + holdout = next(entry for entry in reads if entry["reference_set"] == "holdout") + band = entries["statbel_a1_standin_taxable_income__10k_20k"] + row = documents["holdout"]["target_references"][0] + if mutant.startswith(("respelled", "recomputed")): + # A band row's selector with the class named only by its aggregate key: + # the cell check sees a new cell, yet the selector still reads the class. + donor = next( + row + for row in documents["calibration"]["target_references"] + if row["name"] == band["name"] + ) + selector = copy.deepcopy(donor["ledger_selector"]) + del selector["dimension_values"] + selector["aggregate_fact_key"] = _keys(band["base_facts"])[2] + if mutant == "recomputed_digest_on_a_rewritten_operand": + operand = row["value_operands"][1] + row["value_operands"][1] = {"role": operand["role"], **selector} + else: + row["ledger_selector"] = selector + assert _separation_violations(documents) == [] + if mutant != "respelled_selector": + entries[row["name"]]["selector_sha256"] = generator.selector_digest(row) + elif mutant == "factor_entry_keeps_an_old_key": + factor = next( + entry for entry in reads if entry["reference_set"] == "factor_context" + ) + factor["operand_facts"][0] = {"aggregate_fact_key": "stale"} + elif mutant == "relabelled_entry": + entries[row["name"]]["reference_set"] = "calibration" + elif mutant == "relabelled_factor_entry": + factor = next( + entry for entry in reads if entry["reference_set"] == "factor_context" + ) + factor["reference_set"] = "calibration" + elif mutant == "dropped_entry": + reads.remove(holdout) + elif mutant == "holdout_reads_a_band_class": + holdout["base_facts"].append(band["base_facts"][0]) + elif mutant == "holdout_reads_a_factor_operand": + factor = next( + entry for entry in reads if entry["reference_set"] == "factor_context" + ) + holdout["operand_facts"].append(factor["operand_facts"][0]) + elif mutant == "holdout_on_a_partition_total": + holdout["semantic_facts"].append(band["partition_total"]) + else: + precal = next(entry for entry in reads if entry["reference_set"] == "precal") + precal["base_facts"].append(band["base_facts"][0]) + assert kind in { + violation[0] + for violation in _read_violations( + documents, _document("reference_aging.json"), reads + ) + } + + +@pytest.mark.parametrize("target", ["base", "operand"]) +@pytest.mark.parametrize( + "spelling", + [ + {"semantic_fact_key": "key"}, + {"legacy_fact_key": "key"}, + {"source_record_id": "key"}, + {"layout_groupby_value_id": "key"}, + {"dimensions": {generator.A1_CLASS: "class_12_13"}}, + {"aggregate_fact_key": None, "source_measure_id": None}, + {"aggregate_fact_key": ""}, + { + "dimensions": [generator.A1_CLASS], + "dimension_values": {generator.A1_CLASS: ["class_12_13"]}, + "source_measure_id": None, + }, + { + "dimensions": [generator.A1_CLASS], + "dimension_values": {generator.A1_CLASS: ["class_12_13"]}, + "source_measure_id": "", + }, + { + "dimensions": [generator.A1_CLASS], + "dimension_values": {generator.A1_CLASS: ["class_12_13"]}, + "semantic_fact_key": "key", + }, + {}, + {"dimensions": {"a": "x"}, "dimension_values": {"a": ["x"]}}, + {"dimensions": ["a", "b"], "dimension_values": {"a": ["x"]}}, + {"dimensions": ["a", "b"], "dimension_values": {"a": ["x"], "b": ["y"]}}, + {"dimensions": ["a"], "dimension_values": {"a": []}}, + {"dimensions": ["a"], "dimension_values": {"a": [None]}}, + {"dimensions": ["a"], "dimension_values": {"a": [""]}}, + {"dimensions": ["a"], "dimension_values": {"a": [[]]}}, + {"dimensions": ["a"], "dimension_values": {"a": ["x", None]}}, + {"dimensions": ["a", "b"], "dimension_values": {"a": ["x"], "b": None}}, + {"dimensions": ["a", "b"], "dimension_values": {"a": ["x"], "b": ""}}, + {"dimensions": ["a", "b"], "dimension_values": {"a": ["x"], "b": []}}, + ], +) +def test_spellings_the_checks_cannot_read_refuse(spelling, target): + """A selector can name a fact in ways neither the key nor cell check sees.""" + + documents, reads = copy.deepcopy(_documents()), copy.deepcopy(_reads()) + row = documents["holdout"]["target_references"][0] + selector = row["ledger_selector"] + if target == "operand": + selector = row["value_operands"][1] + del selector["aggregate_fact_key"] + selector.update(spelling) + next(entry for entry in reads if entry["name"] == row["name"])[ + "selector_sha256" + ] = generator.selector_digest(row) + violations = _read_violations(documents, _document("reference_aging.json"), reads) + assert ("unpinned", row["name"]) in violations + assert ("digest", row["name"]) not in violations + + +def test_an_operand_needs_a_key_even_with_a_roster(): + """Only a base selector may read a roster; an operand reads one fact.""" + + row = copy.deepcopy(_rows("holdout")[0]) + operand = row["value_operands"][1] + del operand["aggregate_fact_key"] + operand["dimensions"] = [generator.A1_CLASS] + operand["dimension_values"] = {generator.A1_CLASS: ["class_12_13"]} + assert _unpinned(row) + assert not _unpinned(_rows("holdout")[0]) + + +@functools.cache +def _typed_layers(): + resolved = load_country_spec(_SPEC).resolved_spec + assignment = resolved.domain("geography").to_wire()["assignment"] + return json.dumps(assignment["layer_vintages"]) + + +def test_subnational_rows_map_their_vintage_to_the_typed_layer(): + layers = json.loads(_typed_layers()) + for reference_set in SETS: + assert _vintage_violations(_rows(reference_set), layers) == [] + aliases = _typed_geography_vintage_aliases( + load_country_spec(_SPEC).resolved_spec, country="be" + ) + bindings = _document("reference_inventory.json")["geography_vintage_bindings"] + assert {row["layer"] for row in bindings} == set(generator.GEOGRAPHY_VINTAGES) + for binding in bindings: + layer = binding["layer"] + assert binding["typed_authority"] == layers[layer] + assert (binding["chronicle_vintage"], binding["typed_authority"]) == ( + generator.GEOGRAPHY_VINTAGES[layer] + ) + exact = binding["chronicle_vintage"] in aliases[layer] + assert binding["relation"] == ("exact_alias" if exact else "crosswalk") + + +@pytest.mark.parametrize( + ("reference_set", "change"), + [ + ("calibration", {"selector": "NUTS_2021"}), + ("calibration", {"metadata": "NUTS_2021"}), + ("calibration", {"metadata": None}), + ("calibration", {"authority": "vintage:be_province_2025"}), + ("calibration", {"authority": None}), + ("precal", {"selector": "nis_2024"}), + ], +) +def test_vintage_mutants_refuse(reference_set, change): + rows = copy.deepcopy(_rows(reference_set)[:1]) + selector, metadata = rows[0]["ledger_selector"], rows[0]["metadata"] + for field, value in change.items(): + if field == "selector": + selector["geography_vintage"] = value + else: + key = { + "metadata": "geography_vintage", + "authority": "geography_vintage_authority", + }[field] + if value is None: + del metadata[key] + else: + metadata[key] = value + assert _vintage_violations(rows, json.loads(_typed_layers())) == [rows[0]["name"]] + + +def test_an_unreviewed_vintage_label_refuses_generation(): + fact = { + "aggregate_fact_key": "ledger.aggregate_fact.v2:synthetic", + "geography": {"level": "nuts1", "id": "BE1", "vintage": "NUTS_2027"}, + } + with pytest.raises(ValueError, match="reviewed mapping"): + generator._vintage_authority(fact) + + +def test_calibration_keeps_every_family_b1_required(): + assert REQUIRED_FAMILIES <= {row["family"] for row in _rows()} + + +def test_belgian_selectors_never_name_german_or_french_rows(): + for reference_set in SETS: + for row in _rows(reference_set): + for selector in _selectors(row): + assert _belgian_selector(selector), (row["name"], selector) + assert not str(selector.get("geography_id")).startswith(("DE", "FR")) + mutant = copy.deepcopy(_rows("holdout")[0]["ledger_selector"]) + mutant["geography_id"] = "DE" + assert not _belgian_selector(mutant) + for level, area in (("country", "DE"), ("country", "FR"), ("nuts1", "FR1")): + fact = { + "aggregate_fact_key": "ledger.aggregate_fact.v2:synthetic", + "geography": {"level": level, "id": area}, + } + with pytest.raises(ValueError, match="Belgian selectors read Belgian facts"): + generator._belgian(fact) + + +def test_every_rolled_row_uses_one_declared_fpb_row_at_its_periods(): + rolled = [ + row + for reference_set in SETS + for row in _rows(reference_set) + if row.get("value_operation") == "rolled_forward_by_ratio" + ] + assert len(rolled) == 22 + 7 + for row in rolled: + assert _pair_violations(row) == [], row["name"] + assert row["period"] == 2026 + assert row["period_match_policy"] == "latest_not_after" + assert row["assertion_policy"] == "allow_source_projection" + for row in _rows(): + if row.get("value_operation", "identity") == "identity": + assert row["period"] == row["ledger_selector"]["period_value"] + assert row["period_match_policy"] == "exact" + pairs = {row["metadata"]["ageing_pair"] for row in rolled} + assert pairs == set(generator.AGEING_PAIRS) + + +_FPB_ROWS = sorted({pair["row"] for pair in generator.AGEING_PAIRS.values()}) + + +@settings(max_examples=100, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given( + index=st.integers(min_value=0, max_value=30), + other_row=st.sampled_from( + [*_FPB_ROWS, "labour_market.levels.working_age_population"] + ), + other_year=st.sampled_from([2022, 2023, 2024, 2025, 2026, 2027]), + field=st.sampled_from(["row", "numerator_year", "denominator_year", "concept"]), +) +def test_ratio_pairs_share_one_row_and_their_declared_periods( + index, other_row, other_year, field +): + rolled = _rolled_rows() + row = json.loads(rolled[index % len(rolled)]) + assert _pair_violations(row) == [] + numerator, denominator = row["value_operands"][1:] + changed = False + if field == "row": + current = _year_free(denominator["record_set_id"]) + target = f"{generator.FPB}cy*.{other_row}" + changed = current != target + denominator["record_set_id"] = target.replace( + "cy*", f"cy{denominator['period_value']}" + ) + elif field == "numerator_year": + changed = other_year != numerator["period_value"] + numerator["period_value"] = other_year + numerator["record_set_id"] = re.sub( + r"\.cy\d{4}\.", f".cy{other_year}.", numerator["record_set_id"] + ) + elif field == "denominator_year": + changed = other_year != denominator["period_value"] + denominator["period_value"] = other_year + denominator["record_set_id"] = re.sub( + r"\.cy\d{4}\.", f".cy{other_year}.", denominator["record_set_id"] + ) + else: + changed = True + denominator["source_concept"] += ".other" + assert bool(_pair_violations(row)) == changed + + +@functools.cache +def _hierarchy(reference_set): + return json.dumps(_document(SETS[reference_set])["hierarchy"]) + + +def _synthetic_fact(selector, value, member=None): + """A minimal fact matching one selector; a resolver probe, not a Belgian value.""" + + dimensions = dict(selector.get("dimension_values", {})) + key = selector.get("aggregate_fact_key") + if member is not None: + dimensions[member[0]] = member[1] + key = f"synthetic:{selector['record_set_id']}:{member[1]}" + return { + "aggregate_fact_key": key, + "observed_measure": { + name: selector[name] + for name in ("source_name", "source_measure_id", "source_concept") + } + | {"unit": "count"}, + "entity": {"name": selector["entity_name"]}, + "period": {"type": selector["period_type"], "value": selector["period_value"]}, + "geography": { + "level": selector["geography_level"], + "id": selector["geography_id"], + "vintage": selector["geography_vintage"], + "name": "Belgium", + }, + "layout": {"record_set_id": selector["record_set_id"]}, + "dimensions": dimensions, + "dimension_labels": {name: name for name in dimensions}, + "dimension_value_labels": { + name: {str(item): str(item)} for name, item in dimensions.items() + }, + "assertion": selector["assertion"], + "value": value, + "aggregation": {"method": "sum"}, + "label": "Synthetic resolver probe", + } + + +def _synthetic_roll(row, draw): + """Facts for one rolled row and the independently computed exact target.""" + + selector = row["ledger_selector"] + numerator_selector, denominator_selector = ( + {key: value for key, value in operand.items() if key != "role"} + for operand in row["value_operands"][1:] + ) + amount = st.integers(min_value=1, max_value=10**12) + denominator = draw(amount) + # The shared operation refuses ratios outside (0.5, 2]: stay inside. + numerator = draw( + st.integers( + min_value=denominator * 6 // 10 + 1, max_value=denominator * 19 // 10 + ) + ) + rosters = [ + (key, value) + for key, value in selector.get("dimension_values", {}).items() + if isinstance(value, list) + ] + facts = [] + if rosters: + dimension, members = rosters[0] + bases = [draw(amount) for _ in members] + facts += [ + _synthetic_fact(selector, value, (dimension, member)) + for value, member in zip(bases, members, strict=True) + ] + elif selector["aggregate_fact_key"] == denominator_selector["aggregate_fact_key"]: + bases = [denominator] + else: + bases = [draw(amount)] + facts.append(_synthetic_fact(selector, bases[0])) + facts.append(_synthetic_fact(numerator_selector, numerator)) + facts.append(_synthetic_fact(denominator_selector, denominator)) + return facts, Fraction(sum(bases)) * Fraction(numerator, denominator) + + +@settings(max_examples=60, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given(index=st.integers(min_value=0, max_value=60), data=st.data()) +def test_shared_compiler_rolls_each_committed_row_as_declared(index, data): + """Differential: the shared resolver against exact base * num / den, in CI.""" + + rolled = _rolled_rows() + row = _executable(json.loads(rolled[index % len(rolled)])) + facts, expected = _synthetic_roll(row, data.draw) + (reference,) = _parsed( + [row], json.loads(_hierarchy(row["metadata"]["reference_set"])) + ) + (spec,) = compile_ledger_target_references(facts, [reference], country="be").specs + assert spec.value == pytest.approx(float(expected), rel=1e-12) + + +@pytest.mark.parametrize( + "name", + ["statbel_a1_standin_declarations__50k_75k", "statbel_b4_declarations__joint"], +) +def test_a_missing_roster_member_refuses_compilation(name): + row = _executable(next(row for row in _rows() if row["name"] == name)) + facts, _ = _synthetic_roll(row, lambda strategy: 1000) + (reference,) = _parsed([row], _document(SETS["calibration"])["hierarchy"]) + with pytest.raises(ValueError, match="base"): + compile_ledger_target_references(facts[1:], [reference], country="be") + + +def test_rows_equal_to_the_fpb_projection_declare_it(): + flagged = set() + for reference_set in SETS: + for row in _rows(reference_set): + if row.get("value_operation") != "rolled_forward_by_ratio": + continue + own = row["ledger_selector"].get("aggregate_fact_key") == row[ + "value_operands" + ][2].get("aggregate_fact_key") + declared = "ageing_target_equals" in row["metadata"] + assert declared == (own or row["name"] in BASES_EQUAL_TO_DENOMINATOR) + flagged |= {row["name"]} if declared else set() + assert len(flagged) == 7 + + +def test_band_edges_strictly_increase_and_partition_the_positive_range(): + document = _document("reference_intervals.json") + tables = validate_interval_document(document) + assert list(tables) == [generator.STANDIN_TABLE] + table = tables[generator.STANDIN_TABLE] + assert table.entity == "tax_unit" + assert table.closure == "left" and table.nil_present + assert table.cuts[0] == 0 + assert all(a < b for a, b in zip(table.cuts, table.cuts[1:], strict=False)) + bands = [band for band in document["tables"][0]["bands"] if band["kind"] != "nil"] + assert [band["id"] for band in bands] == [ + band for band, _, _ in generator.STANDIN_BANDS + ] + assert [band["upper_cent"] for band in bands] == [ + None if upper is None else upper * 100 + for _, _, upper in generator.STANDIN_BANDS + ] + inventory = _document("reference_inventory.json")["standin_bands"] + members = [code for band in inventory for code in band["a1_classes"]] + assert members == [code for _, _, code in A1_CLASSES] + assert len(inventory) == 8 + filters = { + row["filter"] + for row in _rows() + if row["metadata"].get("interval_table_id") == generator.STANDIN_TABLE + } + assert filters == {band["indicator"] for band in bands} + + +@settings(max_examples=200, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given(st.integers(min_value=-(10**9), max_value=10**9)) +@example(0) +@example(1) +@example(999_999) +@example(1_000_000) +@example(9_999_999) +@example(10_000_000) +def test_every_amount_lands_in_exactly_one_band(cents): + document = _document("reference_intervals.json") + table = interval_table(document["tables"][0]) + (position,) = classify_records(table, [cents], ["included"]) + floored = max(0, cents) + if floored == 0: + assert position == table.nil_index + return + assert position != BELOW_FIRST_CUT + band = document["tables"][0]["bands"][position] + upper = band["upper_cent"] + lower = table.cuts[table.positive_indices.index(position)] + assert lower <= floored and (upper is None or floored < upper) + + +_EDGES = [lower for lower, _, _ in A1_CLASSES] + + +@settings(max_examples=200, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given(st.sets(st.sampled_from(_EDGES[1:]), max_size=20)) +def test_any_band_list_on_class_edges_partitions_a1(cuts): + edges = [0, *sorted(cuts)] + bands = tuple( + (f"b{index}", lower, upper) + for index, (lower, upper) in enumerate( + zip(edges, [*edges[1:], None], strict=True) + ) + ) + with mock.patch.object(generator, "STANDIN_BANDS", bands): + members = generator._band_members(A1_CLASSES) + assert [code for band in members.values() for code in band] == [ + code for _, _, code in A1_CLASSES + ] + for (band, lower, upper), codes in zip(bands, members.values(), strict=True): + spans = [(start, end) for start, end, code in A1_CLASSES if code in codes] + assert spans[0][0] == lower and spans[-1][1] == upper, band + + +@pytest.mark.parametrize( + "bands", + [ + (("a", 0, 10_500), ("b", 10_500, None)), + (("a", 0, 99_999), ("b", 99_999, None)), + # The upper is off an edge, yet the next band restarts on one. + (("a", 0, 10_500), ("b", 10_000, None)), + ], +) +def test_band_edges_off_class_edges_refuse(bands): + with mock.patch.object(generator, "STANDIN_BANDS", bands): + with pytest.raises(ValueError, match="class edge|partition"): + generator._band_members(A1_CLASSES) + + +def test_ageing_factors_are_g8r2_diagnostics_whose_periods_match_declarations(): + context = _document("reference_aging.json") + feed = chronicle_feed_identity(_document("chronicle_feed.json")) + assert context["feed_identity"] == feed + selected = validate_factor_context(context) + assert set(selected) == set(generator.RSZ_FACTORS) + for factor_id, entry in selected.items(): + declaration, receipt = entry["declaration"], entry["receipt"] + assert declaration["purpose"] == "diagnostic" + assert declaration["feed_identity"] == feed + source_year, expected = generator.RSZ_FACTORS[factor_id] + assert declaration["source_period"] == source_year + assert declaration["target_period"] == 2025 + for schedule, period in ( + ("source_schedule", declaration["source_period"]), + ("target_schedule", declaration["target_period"]), + ): + (slot,) = declaration[schedule] + assert slot["selector"]["period_value"] == period + assert slot["validation"]["period_coverage"] == { + "start_date": f"{period}-01-01", + "end_date": f"{period}-12-31", + } + assert receipt["source_period"] == declaration["source_period"] + assert receipt["target_period"] == declaration["target_period"] + assert entry["operational_factor"] == { + "numerator": expected, + "denominator": 1_000_000, + } + + +@settings(max_examples=100, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given( + index=st.integers(min_value=0, max_value=40), + shift=st.integers(min_value=-3, max_value=3).filter(bool), + where=st.sampled_from(["source_period", "target_period", "period"]), +) +def test_each_rolled_period_matches_its_declaration(index, shift, where): + rolled = _rolled_rows() + row = json.loads(rolled[index % len(rolled)]) + if where == "period": + row["period"] += shift + else: + row["metadata"][where] = str(int(row["metadata"][where]) + shift) + assert "numerator_period" in _pair_violations(row) or ( + "denominator_period" in _pair_violations(row) + ) + + +def test_every_money_factor_lives_in_the_reference_profile_context(): + assert _money_context_violations(_SPEC) == [] + assert ( + _document("reference_profiles.json")["factor_context_resource"] + == "reference_aging.json" + ) + + +_MONEY_FACTOR = {"factors": [{"declaration": {"purpose": "money_normalization_input"}}]} + + +@pytest.mark.parametrize( + ("files", "expected"), + [ + # A money node on the reference context passes, in either resource. + ( + { + "reference_aging.json": _MONEY_FACTOR, + "transport_graph.json": { + "nodes": [ + { + "kernel": "money.normalize@1", + "params": { + "factor_context": {"resource": "reference_aging.json"} + }, + } + ] + }, + }, + [], + ), + ( + { + "entitlement_graph.json": { + "steps": [ + { + "kernel": "money.normalize@1", + "params": { + "factor_context": {"resource": "reference_aging"} + }, + } + ] + } + }, + [], + ), + # A second context, with or without a node that selects it. + ({"money_factor_context.json": _MONEY_FACTOR}, ["stray_factor"]), + ( + { + "money_factor_context.json": _MONEY_FACTOR, + "transport_graph.json": { + "nodes": [ + { + "kernel": "money.normalize@1", + "params": { + "factor_context": { + "resource": "money_factor_context.json" + } + }, + } + ] + }, + }, + ["stray_factor", "money_context"], + ), + ( + { + "entitlement_graph.json": { + "steps": [ + { + "kernel": "money.normalize@1", + "params": {"factor_context": {"resource": "other.json"}}, + } + ] + } + }, + ["money_context"], + ), + ( + {"transport_graph.json": {"nodes": [{"kernel": "money.normalize@1"}]}}, + ["money_context"], + ), + ], +) +def test_money_context_mutants(tmp_path, files, expected): + (tmp_path / "reference_profiles.json").write_text( + (_SPEC / "reference_profiles.json").read_text() + ) + (tmp_path / "reference_aging.json").write_text( + (_SPEC / "reference_aging.json").read_text() + ) + for name, document in files.items(): + (tmp_path / name).write_text(json.dumps(document)) + assert sorted(kind for kind, _ in _money_context_violations(tmp_path)) == sorted( + expected + ) + + +def test_profiles_name_the_factor_context_and_keep_ageing_deferred(): + profiles = _document("reference_profiles.json") + assert profiles["factor_context_resource"] == "reference_aging.json" + assert profiles["interval_resource"] == "reference_intervals.json" + raw = _document("target_references.json") + effective, intervals, receipt = resolve_reference_profiles( + raw, + profiles, + {}, + _document("reference_intervals.json"), + factor_context=_document("reference_aging.json"), + ) + assert receipt["deferred_dimensions"] == ["aging_index"] + assert receipt["transformed_names"] == [] + assert intervals == _document("reference_intervals.json") + assert set(effective) == set(raw) & REFERENCE_DOCUMENT_KEYS + assert effective["target_references"] == raw["target_references"] + assert ( + validate_reference_resolution( + effective, + receipt, + references_sha256=reference_document_sha256(effective), + interval_document=intervals, + ) + == receipt + ) + references = parse_reference_document(effective, country="be") + a1 = [ + reference + for reference in references + if reference.metadata.get("interval_table_id") == generator.STANDIN_TABLE + ] + assert len(a1) == 16 + for reference in a1: + assert json.loads(reference.metadata["reference_prerequisites"]) == [ + "reference_profile:aging_index", + f"measurement:{generator.STANDIN_MEASUREMENT}", + ] + + +def test_only_demography_and_commune_support_are_active(): + active = { + reference_set: { + row["metadata"]["contract_target_id"] + for row in _rows(reference_set) + if row["metadata"]["activation_status"] == "active" + } + for reference_set in SETS + } + assert active == { + "calibration": {"statbel_population_by_region_sex_age"}, + "precal": {"statbel_population_by_commune"}, + "holdout": set(), + } + + +def test_every_parked_row_refuses_direct_compilation(): + for name in SETS.values(): + document = _document(name) + for reference in _parsed(document["target_references"], document["hierarchy"]): + if reference.metadata["activation_status"] != "active": + with pytest.raises( + ValueError, + match="non-executable placeholder|requires reference profile", + ): + compile_ledger_target_references([], [reference], country="be") + + +def test_belgium_still_refuses_to_activate(): + spec = load_transport_spec(_SPEC) + with pytest.raises(ValueError, match="not activated") as error: + validate_transport_activation(spec) + for missing in ("benefit_unit_rule.json", "axiom_rules_bindings.json"): + assert missing in str(error.value) + assert not (_SPEC / "transport_graph.json").exists() + assert not (_SPEC / "receipt_contract.json").exists() + assert not (_SPEC / "currency_bridge.json").exists() + + +def test_b1_stays_inactive_with_named_failed_checks(): + checks = _document("reference_inventory.json")["b1_checks"] + assert { + key: checks[key]["result"] + for key in ("tax_definition", "income_ranking", "policy_year") + } == {"tax_definition": "fail", "income_ranking": "fail", "policy_year": "fail"} + for key in ("tax_definition", "income_ranking", "policy_year"): + assert checks[key]["missing"] + # Every "passed" statement is backed by an assertion the generator makes. + assert checks["asserted_evidence"] and all(checks["asserted_evidence"].values()) + assert checks["tax_definition"]["evidence"]["b1_deciles_sum_minus_total_eur"] == ( + pytest.approx(0, abs=0.1) + ) + assert checks["tax_definition"]["evidence"][ + "top_percentiles_sum_minus_decile_10_eur" + ] == pytest.approx(0, abs=0.1) + b1 = [row for row in _rows() if row["family"] == "income_tax"] + assert len(b1) == 19 + assert {row["metadata"]["activation_status"] for row in b1} == { + "inactive_pending_b1_checks" + } + assert all(row.get("value_operation", "identity") == "identity" for row in b1) + assert all(row["period"] == 2023 and row["signed"] is True for row in b1) + evidence = checks["tax_definition"]["evidence"] + assert abs(evidence["difference_eur"]) < 0.1 + assert evidence["negative_deciles"] == ["decile_01", "decile_02"] + + +def test_standin_gaps_publish_the_card_shares(): + gaps = _document("reference_inventory.json")["standin_gaps"] + shares = gaps["national"]["component_shares_of_taxable_income"] + assert {key: round(value * 100, 2) for key, value in shares.items()} == { + "professional_income": 98.05, + "immovable_property_income": 1.49, + "capital_and_movable_property_income": 0.55, + "miscellaneous_income": 0.12, + "deductible_expenditures": 0.21, + } + assert round(gaps["national"]["omitted_share_gross"] * 100, 2) == 2.37 + assert gaps["declarations_with_taxable_but_no_professional_income"] == 42007 + assert gaps["zero_income_declarations_outside_a1"] == 523770 + assert [band["band"] for band in gaps["bands"]] == [ + band for band, _, _ in generator.STANDIN_BANDS + ] + for band in [gaps["national"], *gaps["bands"]]: + assert abs(band["identity_residual_eur"]) < 0.05 + assert math.isclose( + sum(band["declarations_iy2023"] for band in gaps["bands"]), + gaps["national"]["declarations_iy2023"], + ) + + +def test_a1_band_counts_and_b4_types_share_one_ageing_pair(): + counts = { + row["metadata"]["ageing_pair"] + for row in _rows() + if row["metadata"]["contract_target_id"] + in { + "statbel_a1_standin_declarations_by_band", + "statbel_b4_declarations_by_type", + } + } + assert counts == {"fpb_t07_total_population"} + identity = _document("reference_inventory.json")["b4_identity"] + assert identity["closes_exactly"] is True + assert identity["joint"] + identity["individual"] == identity["a1_declarations"] + + +def test_jrc_is_deferred_and_august_gaps_are_named(): + for reference_set in SETS: + for row in _rows(reference_set): + for selector in _selectors(row): + assert "jrc" not in selector["source_name"] + exclusions = { + row["id"] for row in _document("reference_inventory.json")["exclusions"] + } + assert {"jrc_euromod_be_statistics", "ris_amount_and_recipients"} <= exclusions + onem = next( + row for row in _rows() if row["name"] == "onem_complete_unemployment_recipients" + ) + assert onem["metadata"]["activation_status"].startswith("requires_ageing_ruling") + + +def test_unemployment_choice_names_the_larger_line(): + choice = _document("reference_inventory.json")["unemployment_series_choice"] + lines = {key: row["eur"] for key, row in choice["lines_2025"].items()} + assert choice["lines_2025"]["chosen"]["label"] == "a. Chômage" + assert choice["lines_2025"]["alternative"]["label"] == "4. Chômage" + assert lines["alternative"] == pytest.approx( + lines["chosen"] + lines["company_supplement"] + lines["career_breaks"], + abs=2e6, + ) + + +def test_inventory_feed_identity_is_the_pin(): + assert _document("reference_inventory.json")["feed_identity"] == _document( + "chronicle_feed.json" + ) + + +@pytest.fixture(scope="module") +def artifact(): + path = os.environ.get("BE_CHRONICLE_ARTIFACT") + if not path: + pytest.skip("BE_CHRONICLE_ARTIFACT is unset; Belgian feed audit unavailable") + return load_ledger_consumer_artifact( + Path(path), feed_pin=_document("chronicle_feed.json"), lexical_floats=True + ) + + +@pytest.fixture(scope="module") +def by_record_set(artifact): + index = {} + for fact in artifact.facts: + index.setdefault(fact.get("layout", {}).get("record_set_id"), []).append(fact) + return index + + +def _matched(selector, by_record_set): + pool = by_record_set.get(selector.get("record_set_id"), []) + return [fact for fact in pool if fact_matches_selector(fact, selector)] + + +def _executable(row): + row = copy.deepcopy(row) + row["metadata"]["activation_status"] = "active" + for key in ("required_reference_profile", "reference_prerequisites"): + row["metadata"].pop(key, None) + return row + + +def test_generation_reproduces_committed_resources_with_exact_feed_identity(artifact): + generated = generator.build_reference_documents(artifact) + assert set(generated) == set(GENERATED) + for filename, document in generated.items(): + assert generator._encode(document) == (_SPEC / filename).read_text(), filename + assert artifact.fact_row_count == _document("chronicle_feed.json")["fact_row_count"] + + +def test_check_mode_passes_and_refuses_a_stale_copy(artifact, tmp_path, monkeypatch): + monkeypatch.setattr( + generator, "load_ledger_consumer_artifact", lambda *args, **kwargs: artifact + ) + monkeypatch.setattr( + "sys.argv", ["generate", "--artifact", "unused", "--check", "--out", str(_SPEC)] + ) + generator.main() + for name in ("chronicle_feed.json", *GENERATED): + (tmp_path / name).write_text((_SPEC / name).read_text()) + stale = _document("holdout_references.json") + stale["description"] += " (edited)" + (tmp_path / "holdout_references.json").write_text(generator._encode(stale)) + monkeypatch.setattr( + "sys.argv", + ["generate", "--artifact", "unused", "--check", "--out", str(tmp_path)], + ) + with pytest.raises(SystemExit, match="Stale generated resource"): + generator.main() + + +def test_every_selector_resolves_to_one_fact_or_its_declared_set( + artifact, by_record_set +): + for name in SETS.values(): + document = _document(name) + for row in document["target_references"]: + base = _matched(row["ledger_selector"], by_record_set) + pins = row["ledger_selector"].get("dimension_values", {}) + rosters = [value for value in pins.values() if isinstance(value, list)] + expected = len(rosters[0]) if rosters else 1 + assert len(base) == expected, row["name"] + for operand in row.get("value_operands", [])[1:]: + selector = {k: v for k, v in operand.items() if k != "role"} + assert len(_matched(selector, by_record_set)) == 1, row["name"] + assert all(generator._belgian(fact) for fact in base) + (reference,) = _parsed([_executable(row)], document["hierarchy"]) + needed = {} + for selector in reference_fact_selectors(reference): + for fact in _matched(selector, by_record_set): + needed[fact["aggregate_fact_key"]] = fact + (spec,) = compile_ledger_target_references( + needed.values(), [reference], country="be" + ).specs + if row.get("value_operation") == "rolled_forward_by_ratio": + assert spec.metadata["ledger_value_base_cells"] == str(expected) + numerator = _matched( + {k: v for k, v in row["value_operands"][1].items() if k != "role"}, + by_record_set, + )[0] + denominator = _matched( + {k: v for k, v in row["value_operands"][2].items() if k != "role"}, + by_record_set, + )[0] + total = math.fsum(float(fact["value"]) for fact in base) + assert spec.value == pytest.approx( + total * float(numerator["value"]) / float(denominator["value"]), + rel=1e-12, + ) + else: + assert spec.value == float(base[0]["value"]) + + +def test_german_and_french_rows_are_refused_and_never_selected(artifact, by_record_set): + foreign = [ + fact + for fact in artifact.facts + if fact["geography"]["level"] == "country" + and fact["geography"]["id"] in {"DE", "FR"} + ] + assert len(foreign) == 72 + for fact in foreign: + with pytest.raises(ValueError, match="Belgian selectors read Belgian facts"): + generator._selector(fact) + keys = {fact["aggregate_fact_key"] for fact in foreign} + for reference_set in SETS: + for row in _rows(reference_set): + for selector in _selectors(row): + assert ( + not { + fact["aggregate_fact_key"] + for fact in _matched(selector, by_record_set) + } + & keys + ) + + +def test_resolved_sets_share_no_fact_and_holdouts_read_none(artifact, by_record_set): + reads = {} + for reference_set in SETS: + for row in _rows(reference_set): + keys = { + fact["aggregate_fact_key"] + for selector in _selectors(row) + for fact in _matched(selector, by_record_set) + } + for key in keys: + reads.setdefault(key, set()).add(reference_set) + assert not [ + key for key, sets in reads.items() if "holdout" in sets and len(sets) > 1 + ] + bases = {} + for reference_set in SETS: + for row in _rows(reference_set): + for fact in _matched(row["ledger_selector"], by_record_set): + bases.setdefault(fact["aggregate_fact_key"], set()).add(reference_set) + assert all(len(sets) == 1 for sets in bases.values()) + + +def test_resolved_reads_list_what_each_selector_resolves_to(artifact, by_record_set): + listed = {entry["name"]: entry for entry in _reads()} + for reference_set in SETS: + for row in _rows(reference_set): + entry = listed[row["name"]] + selectors = list(_selectors(row)) + base = _matched(selectors[0], by_record_set) + operands = [ + fact + for selector in selectors[1:] + for fact in _matched(selector, by_record_set) + ] + assert _keys(entry["base_facts"]) == sorted( + {fact["aggregate_fact_key"] for fact in base} + ) + assert _keys(entry["operand_facts"]) == sorted( + {fact["aggregate_fact_key"] for fact in operands} + ) + assert _keys(entry["semantic_facts"]) == sorted( + {fact["semantic_fact_key"] for fact in [*base, *operands]} + ) + + +def test_a_holdout_on_b1s_income_total_collides_with_a1s_bands(artifact): + """B.1 and A.1 print one semantic total, which the bands add up to.""" + + inventory = generator.Inventory(artifact.facts) + total = inventory.one( + spec=generator.B1_VALUES, + measure="taxable_income_eur", + geography="BE", + dimensions={"tax_return.rank_group": "all"}, + ) + documents = copy.deepcopy(_documents()) + row = documents["holdout"]["target_references"][0] + row["ledger_selector"] = generator._selector(total) + del row["value_operands"] + named = {name: documents[key] for key, name in SETS.items()} + context = _document("reference_aging.json") + reads = generator.resolved_reads( + inventory, {**named, "reference_aging.json": context} + ) + assert ("holdout_semantic", total["semantic_fact_key"]) in _read_violations( + documents, context, reads + ) + + +def test_projection_flags_match_the_feed(artifact, by_record_set): + for reference_set in SETS: + for row in _rows(reference_set): + if row.get("value_operation") != "rolled_forward_by_ratio": + continue + selectors = list(_selectors(row)) + base = _matched(selectors[0], by_record_set) + (denominator,) = _matched(selectors[2], by_record_set) + equal = len(base) == 1 and generator._value(base[0]) == generator._value( + denominator + ) + assert ("ageing_target_equals" in row["metadata"]) == equal, row["name"] + + +def test_a_changed_b1_fact_refuses_generation(artifact): + facts = list(artifact.facts) + index = next( + position + for position, fact in enumerate(facts) + if fact["layout"].get("record_set_spec_id") + == "spf_finances.pit.tax_before_withholding.country.v1" + ) + facts[index] = {**facts[index], "value": 1.0} + with pytest.raises(ValueError, match="Reviewed B.1 evidence changed"): + generator._b1_checks(generator.Inventory(facts)) + + +def test_shared_series_check_accepts_a_mismatched_fpb_row_that_ours_refuses( + artifact, by_record_set +): + """Documents a shared limitation: every T07 row shares one series key.""" + + row = copy.deepcopy( + next(row for row in _rows() if row["name"] == "statbel_b4_declarations__joint") + ) + working_age = next( + fact + for fact in by_record_set[ + f"{generator.FPB}cy2023.labour_market.levels.working_age_population" + ] + ) + row["value_operands"][2] = { + "role": "denominator", + **generator._selector(working_age), + "assertion": "observation", + } + assert "row" in _pair_violations(row) + (reference,) = _parsed( + [_executable(row)], _document("target_references.json")["hierarchy"] + ) + needed = { + fact["aggregate_fact_key"]: fact + for selector in reference_fact_selectors(reference) + for fact in _matched(selector, by_record_set) + } + compile_ledger_target_references(needed.values(), [reference], country="be") + + +def test_factor_receipts_replay_against_the_feed(artifact): + context = _document("reference_aging.json") + for entry in context["factors"]: + replay_reference_factor( + entry["declaration"], + artifact.facts, + context["feed_identity"], + entry["operational_factor"], + entry["receipt"], + ) + + +@pytest.mark.parametrize( + ("field", "altered"), + [ + ("facts_sha256", "0" * 64), + ("manifest_sha256", "0" * 64), + ("fact_row_count", 87111), + ("consumer_fact_schema_versions", ["wrong"]), + ("consumer_fact_schema_sha256", "0" * 64), + ("artifact_schema_version", "wrong"), + ], +) +def test_changed_feed_identity_refuses_authoring(artifact, field, altered, tmp_path): + pin = _document("chronicle_feed.json") + pin[field] = altered + (tmp_path / "chronicle_feed.json").write_text(json.dumps(pin)) + with pytest.raises(ChronicleFeedPinMismatchError): + generator.build_reference_documents(artifact, package_dir=tmp_path) + + +@pytest.mark.parametrize( + ("table", "key", "period"), + [ + ("AGEING_PAIRS", "fpb_t11_total_resources", 2026), + ("AGEING_PAIRS", "fpb_t07_total_population", 2023), + ("RSZ_OPERANDS", None, 2025), + ], +) +def test_a_changed_reviewed_operand_refuses_generation(artifact, table, key, period): + if table == "AGEING_PAIRS": + pairs = copy.deepcopy(generator.AGEING_PAIRS) + pairs[key]["operands"][period] = str( + Fraction(pairs[key]["operands"][period]) + 1 + ) + patch = mock.patch.object(generator, "AGEING_PAIRS", pairs) + message = "Reviewed FPB operand" + else: + operands = {**generator.RSZ_OPERANDS, period: "1"} + patch = mock.patch.object(generator, "RSZ_OPERANDS", operands) + message = "Reviewed RSZ operand" + with patch, pytest.raises(ValueError, match=message): + generator.build_reference_documents(artifact) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py b/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py index 079c9da968..63c919ddf0 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py @@ -17,6 +17,7 @@ from pathlib import Path import pytest +import yaml from microcosm.build import ( CountryResourceRow, @@ -77,6 +78,18 @@ def _nested_mapping_keys(value: object) -> set[str]: return set() +# B1's schema-2 target document, kept so the schema-2 target-profile contract +# (typed vintage aliases, exact periods) stays exercised on Belgian geography +# after B3 moved the packaged references to a schema-1 profile. +BE_SCHEMA2_TARGETS = _TEST_PATHS.tests / "fixtures/be_schema2_target_references.json" + + +def _be_package_with_schema2_profile(package_dir: Path) -> Path: + shutil.copytree(COUNTRY_PACKAGE_ROOT / "be", package_dir) + shutil.copyfile(BE_SCHEMA2_TARGETS, package_dir / "target_references.json") + return package_dir + + def _armenia_scalar_ledger_fact( reference, ordinal: int, @@ -510,7 +523,14 @@ def test_loads_with_every_declared_resource(self, spec) -> None: "spec/vintages.yaml", "source_stages.json", "geography_spine.json", + "chronicle_feed.json", "target_references.json", + "precal_references.json", + "holdout_references.json", + "reference_aging.json", + "reference_intervals.json", + "reference_inventory.json", + "reference_profiles.json", "gates.json", "release_contract.json", } @@ -545,7 +565,7 @@ def test_source_stage_pins_the_us_donor_support_contract(self, spec) -> None: assert [(row["kind"], row["role"]) for row in stage.artifacts[1:]] == [ ( "public_aggregate_reference", - "destination_chronicle_consumer_artifact_unpinned", + "destination_chronicle_consumer_artifact", ), ("public_parameter_reference", "rulespec_be_tree_unpinned"), ] @@ -607,160 +627,201 @@ def test_observed_region_geography_compatibility_still_requires_preservation( load_country_spec(package_dir) def test_targets_arrive_by_reference_with_no_values(self, spec) -> None: - names = {reference.name for reference in spec.target_references} - assert { - "statbel_population_by_age_sex_region", - "statbel_fiscal_income_by_commune", - "spf_finances_pit_total", - "onss_employee_contribution_total", - "onem_unemployment_caseload", - "nbb_household_disposable_income", - } <= names - by_name = {reference.name: reference for reference in spec.target_references} - commune = by_name["statbel_fiscal_income_by_commune"] - assert commune.metadata["nis_vintage"] == "2025" - assert commune.metadata["geography_vintage"] == "nis_2025" - assert commune.ledger_selector["geography_vintage"] == "nis_2025" - assert commune.metadata["criticality"] == "diagnostic" assert { - by_name[name].metadata["activation_status"] - for name in { - "statbel_population_by_age_sex_region", - "statbel_fiscal_income_by_commune", - } - } == {"requires_harvested_cell_references"} - - payload = json.loads( - (COUNTRY_PACKAGE_ROOT / "be/target_references.json").read_text( - encoding="utf-8" + reference.metadata["contract_target_id"] + for reference in spec.target_references + } == { + "statbel_population_by_region_sex_age", + "statbel_a1_standin_declarations_by_band", + "statbel_a1_standin_taxable_income_by_band", + "statbel_b4_declarations_by_type", + "statbel_b1_enrolled_tax_by_rank_group", + "onss_worker_personal_contributions", + "onem_complete_unemployment_recipients", + "fpb_unemployment_benefit_expenditure", + "fpb_grapa_expenditure", + "fpb_net_mixed_income", + } + for name in ( + "target_references.json", + "precal_references.json", + "holdout_references.json", + "reference_intervals.json", + "reference_profiles.json", + ): + payload = json.loads( + (COUNTRY_PACKAGE_ROOT / "be" / name).read_text(encoding="utf-8") ) - ) - assert FORBIDDEN_TARGET_VALUE_KEYS.isdisjoint( - _nested_mapping_keys(payload["target_references"]) - ) + assert FORBIDDEN_TARGET_VALUE_KEYS.isdisjoint( + _nested_mapping_keys(payload) + ), name def test_target_selectors_declare_the_intended_chronicle_vocabulary( self, spec ) -> None: - references = {reference.name: reference for reference in spec.target_references} + statbel = "statbel_fiscal_income_distribution" + rolled = "rolled_forward_by_ratio" expected = { - "statbel_population_by_age_sex_region": ( + "statbel_population_by_region_sex_age": ( "statbel_population_structure", "people", "calendar_year", - 2023, + 2026, "nuts1", - "nuts1_2025", + "identity", ), - "statbel_fiscal_income_by_commune": ( - "statbel_fiscal_income", - "taxable_income", + "statbel_a1_standin_declarations_by_band": ( + statbel, + "declarations", "tax_year", - 2022, - "commune", - "nis_2025", + 2023, + "country", + rolled, ), - "spf_finances_pit_total": ( - "spf_finances_pit", - "tax_before_withholding", + "statbel_a1_standin_taxable_income_by_band": ( + statbel, + "taxable_income_eur", "tax_year", - 2022, + 2023, + "country", + rolled, + ), + "statbel_b4_declarations_by_type": ( + statbel, + "declarations", + "tax_year", + 2023, + "country", + rolled, + ), + "statbel_b1_enrolled_tax_by_rank_group": ( + statbel, + "total_tax_eur", + "tax_year", + 2023, "country", - None, + "identity", ), - "onss_employee_contribution_total": ( + "onss_worker_personal_contributions": ( "onss_contributions", "worker_article_17_uncapped_component_contribution", "calendar_year", - 2022, + 2024, "country", - None, + rolled, ), - "onem_unemployment_caseload": ( + "onem_complete_unemployment_recipients": ( "onem_rva_unemployment", "receives_unemployment_benefit", "calendar_year", - 2022, + 2024, "country", - None, - ), - "nbb_household_disposable_income": ( - "nbb_national_accounts", - "household_disposable_income", - "calendar_year", - 2022, - "country", - None, + "identity", ), + **{ + contract: ( + "fpb_economic_outlook", + "amount_meur", + "calendar_year", + 2025, + "country", + rolled, + ) + for contract in ( + "fpb_unemployment_benefit_expenditure", + "fpb_grapa_expenditure", + "fpb_net_mixed_income", + ) + }, } - - for name, ( - source_name, - source_measure_id, - period_type, - period, - geography_level, - geography_vintage, - ) in expected.items(): - reference = references[name] - assert reference.ledger_selector["source_name"] == source_name - assert reference.ledger_selector["source_measure_id"] == source_measure_id - assert reference.ledger_selector["period_type"] == period_type - assert reference.period == period - assert reference.period_match_policy == "exact" - assert reference.assertion_policy == "allow_source_projection" - assert reference.ledger_selector["geography_level"] == geography_level - assert ( - reference.ledger_selector.get("geography_vintage") == geography_vintage + for reference in spec.target_references: + ( + source_name, + source_measure_id, + period_type, + source_period, + geography_level, + operation, + ) = expected[reference.metadata["contract_target_id"]] + selector = reference.ledger_selector + assert selector["source_name"] == source_name + assert selector["source_measure_id"] == source_measure_id + assert selector["period_type"] == period_type + assert selector["period_value"] == source_period + assert selector["geography_level"] == geography_level + assert reference.value_operation == operation + if operation == rolled: + assert reference.period == 2026 + assert reference.period_match_policy == "latest_not_after" + assert reference.assertion_policy == "allow_source_projection" + else: + # Identity rows never relabel a period: the 2026 cells are + # 2026 observations, and parked rows keep source periods. + assert reference.period == source_period + assert reference.period_match_policy == "exact" + assert reference.assertion_policy == "observed_only" + + def test_target_profile_is_schema_one_with_schema_two_hierarchies( + self, spec + ) -> None: + # A schema-2 target profile requires exact period matching, which + # refuses rolled_forward_by_ratio; NZ uses the same schema-1 profile. + assert dict(spec.target_profile) == { + "schema_version": 1, + "hierarchy_reconciliations": (), + } + payload = json.loads( + (COUNTRY_PACKAGE_ROOT / "be/target_references.json").read_text( + encoding="utf-8" ) - - def test_target_profile_declares_tiers_and_income_basis(self, spec) -> None: - profile = spec.target_profile - assert profile["schema_version"] == 2 - assert tuple(profile["required_families"]) == ( - "demography", - "fiscal_income", - "income_tax", - "social_security", - "caseloads", - ) - tiers = profile["criticality_tiers"] - assert tiers["core_fiscal_release"]["relative_tolerance"] == 0.05 - assert tiers["caseload_release"]["relative_tolerance"] == 0.15 - assert tiers["validation_only"]["relative_tolerance"] is None - - income_basis = profile["basis_periods"]["assessment_income_year_2022"] - assert income_basis["period"] == 2022 - assert income_basis["fact_period_type"] == "tax_year" - assert "survey_year" not in income_basis - assert "income_reference_offset_years" not in income_basis - assert income_basis["mismatch_policy"] == "requires_source_projection" - - references = {reference.name: reference for reference in spec.target_references} - assert ( - references["nbb_household_disposable_income"].metadata["target_role"] - == "validation" ) + assert payload["schema_version"] == 2 + assert set(payload["hierarchy"]) == { + "providers", + "categories", + "target_labels", + } + tolerances = { + reference.family: reference.metadata["fit_tolerance"] + for reference in spec.target_references + } + assert tolerances.pop("demography") == "0.02" + assert set(tolerances.values()) == {"0.05"} assert { - reference.family - for reference in references.values() - if reference.metadata["target_role"] == "calibration" - } >= set(profile["required_families"]) + reference.metadata["target_role"] for reference in spec.target_references + } == {"calibration"} + assert { + reference.metadata["method_card_status"] + for reference in spec.target_references + } == {"proposed_pending_d1902"} - def test_target_profile_tiers_and_roles_are_declaration_only(self, spec) -> None: + def test_target_tolerances_and_roles_are_declaration_only(self, spec) -> None: assert all(reference.tolerance is None for reference in spec.target_references) description = json.loads( (COUNTRY_PACKAGE_ROOT / "be/target_references.json").read_text( encoding="utf-8" ) )["description"] - assert "validated declaration metadata only" in description - assert "does not yet wire them into runtime calibration" in description - assert "current Chronicle Belgian catalog does not satisfy" in description - assert "#264" in description + assert "Selectors only" in description + assert "proposed pending d1902" in description + assert "Belgium stays inactive" in description assert "Declaration-only intended Belgian gate posture" in spec.gates.policy assert "not implemented here" in spec.gates.policy + def test_parked_references_refuse_direct_compilation(self, spec) -> None: + parked = [ + reference + for reference in spec.target_references + if reference.metadata["activation_status"] != "active" + ] + assert len(parked) == 42 + for reference in parked: + with pytest.raises( + ValueError, + match="non-executable placeholder|requires reference profile", + ): + compile_ledger_target_references([], [reference], country="be") + @pytest.mark.parametrize( ("reference_name", "aliases"), [ @@ -774,12 +835,13 @@ def test_target_profile_tiers_and_roles_are_declaration_only(self, spec) -> None ), ], ) - def test_subnational_targets_accept_only_declared_typed_vintage_aliases( + def test_schema2_subnational_targets_accept_only_declared_typed_vintage_aliases( self, tmp_path, reference_name, aliases ) -> None: for index, alias in enumerate(aliases): - package_dir = tmp_path / f"case-{index}" / "be" - shutil.copytree(COUNTRY_PACKAGE_ROOT / "be", package_dir) + package_dir = _be_package_with_schema2_profile( + tmp_path / f"case-{index}" / "be" + ) target_path = package_dir / "target_references.json" payload = json.loads(target_path.read_text(encoding="utf-8")) reference = next( @@ -804,11 +866,10 @@ def test_subnational_targets_accept_only_declared_typed_vintage_aliases( ("statbel_fiscal_income_by_commune", "nis_2024"), ], ) - def test_subnational_targets_refuse_vintages_outside_typed_registry( + def test_schema2_subnational_targets_refuse_vintages_outside_typed_registry( self, tmp_path, reference_name, invalid_vintage ) -> None: - package_dir = tmp_path / "be" - shutil.copytree(COUNTRY_PACKAGE_ROOT / "be", package_dir) + package_dir = _be_package_with_schema2_profile(tmp_path / "be") target_path = package_dir / "target_references.json" payload = json.loads(target_path.read_text(encoding="utf-8")) reference = next( @@ -821,11 +882,10 @@ def test_subnational_targets_refuse_vintages_outside_typed_registry( with pytest.raises(ValueError, match="not an exact typed authority alias"): load_country_spec(package_dir) - def test_subnational_target_requires_a_typed_geography_layer( + def test_schema2_subnational_target_requires_a_typed_geography_layer( self, tmp_path ) -> None: - package_dir = tmp_path / "be" - shutil.copytree(COUNTRY_PACKAGE_ROOT / "be", package_dir) + package_dir = _be_package_with_schema2_profile(tmp_path / "be") target_path = package_dir / "target_references.json" payload = json.loads(target_path.read_text(encoding="utf-8")) reference = payload["target_references"][0] @@ -842,11 +902,12 @@ def test_subnational_target_requires_a_typed_geography_layer( "statbel_fiscal_income_by_commune", ], ) - def test_multicell_be_placeholders_cannot_compile_before_fanout( - self, spec, reference_name + def test_schema2_multicell_placeholders_cannot_compile_before_fanout( + self, tmp_path, reference_name ) -> None: + loaded = load_country_spec(_be_package_with_schema2_profile(tmp_path / "be")) reference = next( - row for row in spec.target_references if row.name == reference_name + row for row in loaded.target_references if row.name == reference_name ) with pytest.raises(ValueError, match="non-executable placeholder"): @@ -2513,8 +2574,7 @@ def test_schema2_period_contract_preserves_valid_aliases_and_opaque_labels( def test_schema2_be_geography_vintage_contract_survives_identifier_resolution( tmp_path, identifier_field, fact_vintage ) -> None: - package_dir = tmp_path / "be" - shutil.copytree(COUNTRY_PACKAGE_ROOT / "be", package_dir) + package_dir = _be_package_with_schema2_profile(tmp_path / "be") target_path = package_dir / "target_references.json" payload = json.loads(target_path.read_text(encoding="utf-8")) raw_reference = next( @@ -2594,12 +2654,20 @@ def units(spec) -> dict[str, str]: shipped = units(load_bundle(country)) changed = units(load_bundle(_package_with_catalog_unit(tmp_path, country, unit))) - - assert unit not in shipped.values() - assert [key for key in shipped if shipped[key] != changed[key]] == [ - key for key in changed if changed[key] == unit - ] - assert list(changed.values()).count(unit) == 1 + # The helper edits the first authored count column; bind the compiled + # change to that source key, so a wrong-row edit cannot pass. + authored = yaml.safe_load( + (COUNTRY_PACKAGE_ROOT / country / "spec/catalogs.yaml").read_text( + encoding="utf-8" + ) + )["columns"] + edited = next(row["key"] for row in authored if row["contract"]["unit"] == "count") + + # Belgium ships euro money columns (B3); New Zealand ships none yet. + assert list(shipped.values()).count(unit) == {"be": 2, "nz": 0}[country] + assert [key for key in shipped if shipped[key] != changed[key]] == [edited] + assert (shipped[edited], changed[edited]) == ("count", unit) + assert list(changed.values()).count(unit) == list(shipped.values()).count(unit) + 1 @pytest.mark.parametrize("unit", ["EUR", "NZD", "euro", "eur_cents"]) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_ledger_artifact.py b/packages/microcosm-build/tests/engine_free/shared/test_ledger_artifact.py index 2c59d73e20..79a1caafb4 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_ledger_artifact.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_ledger_artifact.py @@ -150,6 +150,7 @@ def test_lexical_float_opt_in_is_limited_to_factor_consumers(): assert opt_ins == { "packages/microcosm-build/src/microcosm/build/transport/money_kernels.py", "packages/microcosm-build/src/microcosm/build/transport/target_kernels.py", + "tools/generate_be_target_references.py", "tools/generate_nz_reference_aging.py", } 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 5b4c45ee6c..61d8fd4d31 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 @@ -36,6 +36,8 @@ "person.commune_nis", "person.community_code", "person.donor_country_code", + "person.employment_income", + "person.nonfarm_self_employment_income", "person.person_household_id", "person.person_id", "person.province_nis", @@ -217,8 +219,15 @@ def test_be_generation_zero_views_still_come_from_the_country_spec_seam() -> Non assert not spec.release_contract.licence_restricted assert spec.release_contract.public_artifacts == () assert {row.path for row in spec.resource_rows if row.kind == "legacy_json"} == { + "chronicle_feed.json", "gates.json", "geography_spine.json", + "holdout_references.json", + "precal_references.json", + "reference_aging.json", + "reference_intervals.json", + "reference_inventory.json", + "reference_profiles.json", "release_contract.json", "source_stages.json", "target_references.json", diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_reference_selection.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_reference_selection.py index 6f97aa9c78..c7c5312ec4 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_reference_selection.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_reference_selection.py @@ -577,17 +577,31 @@ def test_legacy_selection_path_changed_mutant_frozen_surface_params_and_keys( reference = next( row for row in document["target_references"] - if row["name"] == "spf_finances_pit_total" + if row["name"] == "statbel_population_by_region_sex_age__be1__male__a0_17" ) document["target_references"] = [reference] + selector = reference["ledger_selector"] fact = toy_fact(reference["name"], 3, entity=reference["entity"]) - fact["period"] = {"type": "tax_year", "value": reference["period"]} - fact["geography"]["id"] = country.upper() + fact["aggregate_fact_key"] = selector["aggregate_fact_key"] + fact["period"] = { + "type": selector["period_type"], + "value": selector["period_value"], + } + fact["geography"].update( + level=selector["geography_level"], + id=selector["geography_id"], + vintage=selector["geography_vintage"], + ) for section in ("source", "observed_measure"): - fact[section]["source_name"] = reference["ledger_selector"]["source_name"] - fact["observed_measure"]["source_measure_id"] = reference["ledger_selector"][ - "source_measure_id" - ] + fact[section]["source_name"] = selector["source_name"] + fact["observed_measure"]["source_measure_id"] = selector["source_measure_id"] + fact["observed_measure"]["source_concept"] = selector["source_concept"] + fact["layout"] = {"record_set_id": selector["record_set_id"]} + fact["dimensions"] = dict(selector["dimension_values"]) + fact["dimension_labels"] = {name: name for name in fact["dimensions"]} + fact["dimension_value_labels"] = { + name: {value: value} for name, value in fact["dimensions"].items() + } spec["resources"]["target_references"] = document facts = write_facts(tmp_path / "facts.jsonl", [fact]) legacy_targets = _legacy( diff --git a/packages/microcosm-build/tests/fixtures/be_schema2_target_references.json b/packages/microcosm-build/tests/fixtures/be_schema2_target_references.json new file mode 100644 index 0000000000..5f4b0408ea --- /dev/null +++ b/packages/microcosm-build/tests/fixtures/be_schema2_target_references.json @@ -0,0 +1,278 @@ +{ + "country": "be", + "description": "Belgian calibration and validation schema groundwork, by reference only. Values and source projections would resolve from Chronicle consumer facts at build time, but the current Chronicle Belgian catalog does not satisfy this full selector and period surface. Criticality tiers, relative tolerances, and target_role are validated declaration metadata only: this package does not yet wire them into runtime calibration objectives or release gates. Multi-cell series remain non-executable until Chronicle fanout produces cell-pinned references. No external-oracle implementation from #264 is included. The file never copies a target value from Chronicle, a survey publication, or a validation oracle. These earlier-period declarations remain inactive groundwork; B3 must replace them with reviewed transport references and explicit ageing to the proposed 2026 policy year. Their source periods are not donor or target-period authorities.", + "allowed_value_operations": [ + "identity" + ], + "target_references": [ + { + "name": "statbel_population_by_age_sex_region", + "ledger_selector": { + "source_name": "statbel_population_structure", + "source_measure_id": "people", + "period_type": "calendar_year", + "geography_level": "nuts1", + "geography_vintage": "nuts1_2025" + }, + "entity": "person", + "measure": "people", + "period": 2023, + "family": "demography", + "assertion_policy": "allow_source_projection", + "period_match_policy": "exact", + "metadata": { + "activation_status": "requires_harvested_cell_references", + "basis_period": "population_reference_2023", + "criticality": "release_blocking", + "criticality_tier": "demography_release", + "geography_vintage": "nuts1_2025", + "publisher": "Statbel", + "series": "Structure of the population: age band by sex by region", + "target_role": "calibration" + }, + "notes": "Non-executable series placeholder for an age-band x sex x NUTS1 count surface. Chronicle must fan this into dimension- and geography-pinned scalar references before compilation. The selector uses the typed NUTS1-2025 authority alias; a differently-vintaged source requires an explicit Chronicle projection/crosswalk. An observation for another year may enter only as a Chronicle source_projection whose fact period is the declared 2023 reference year.", + "category_id": "statbel.demography" + }, + { + "name": "statbel_fiscal_income_by_commune", + "ledger_selector": { + "source_name": "statbel_fiscal_income", + "source_measure_id": "taxable_income", + "period_type": "tax_year", + "geography_level": "commune", + "geography_vintage": "nis_2025" + }, + "entity": "household", + "measure": "belgium_pit_taxable_income", + "period": 2022, + "family": "fiscal_income", + "assertion_policy": "allow_source_projection", + "period_match_policy": "exact", + "metadata": { + "activation_status": "requires_harvested_cell_references", + "basis_period": "assessment_income_year_2022", + "criticality": "diagnostic", + "criticality_tier": "commune_diagnostic", + "geography_vintage": "nis_2025", + "nis_vintage": "2025", + "publisher": "Statbel", + "series": "Fiscal statistics of income: total net taxable income by municipality", + "target_role": "calibration" + }, + "notes": "Non-executable series placeholder for commune fiscal-income cells; Chronicle must fan it into one commune-pinned scalar reference per selected cell before compilation. The eventual open commune series is diagnostic until the synthetic spine demonstrates adequate support. The selector binds the typed nis_2025 alias to the spine's 2025 NIS code set, and another code set must be projected and crosswalked in Chronicle rather than partially joined.", + "category_id": "statbel.fiscal_income" + }, + { + "name": "spf_finances_pit_total", + "ledger_selector": { + "source_name": "spf_finances_pit", + "source_measure_id": "tax_before_withholding", + "period_type": "tax_year", + "geography_level": "country" + }, + "entity": "person", + "measure": "belgium_pit_federal_and_local_tax_before_withholding", + "period": 2022, + "family": "income_tax", + "assertion_policy": "allow_source_projection", + "period_match_policy": "exact", + "metadata": { + "basis_period": "assessment_income_year_2022", + "criticality": "release_blocking", + "criticality_tier": "core_fiscal_release", + "publisher": "SPF Finances / Statbel", + "series": "Personal income tax: assessed total", + "target_role": "calibration" + }, + "notes": "National assessed PIT is compared with the Axiom-computed federal and local liability on the 2022 income-year basis. Assessment-year facts must identify the represented income year in Chronicle; a period mismatch is a projection, never a silent relabeling.", + "category_id": "spf_finances.income_tax" + }, + { + "name": "onss_employee_contribution_total", + "ledger_selector": { + "source_name": "onss_contributions", + "source_measure_id": "worker_article_17_uncapped_component_contribution", + "period_type": "calendar_year", + "geography_level": "country" + }, + "entity": "person", + "measure": "belgium_worker_article_17_uncapped_component_contribution", + "period": 2022, + "family": "social_security", + "assertion_policy": "allow_source_projection", + "period_match_policy": "exact", + "metadata": { + "basis_period": "calendar_year_2022", + "criticality": "release_blocking", + "criticality_tier": "standard_admin_release", + "publisher": "ONSS/RSZ", + "series": "Employee social-security contributions", + "target_role": "calibration" + }, + "notes": "Worker-side contributions on the encoded slice. Employer-side and capped-regime totals can enter as distinct references when both the engine concepts and Ledger selectors exist.", + "category_id": "onss.social_security" + }, + { + "name": "onem_unemployment_caseload", + "ledger_selector": { + "source_name": "onem_rva_unemployment", + "source_measure_id": "receives_unemployment_benefit", + "period_type": "calendar_year", + "geography_level": "country" + }, + "entity": "person", + "measure": "receives_unemployment_benefit", + "period": 2022, + "family": "caseloads", + "assertion_policy": "allow_source_projection", + "period_match_policy": "exact", + "metadata": { + "basis_period": "calendar_year_2022", + "criticality": "release_blocking", + "criticality_tier": "caseload_release", + "publisher": "ONEM/RVA", + "series": "Unemployment benefit recipients", + "target_role": "calibration" + }, + "notes": "The initial caseload family uses the calendar-year recipient count. Pension and regional child-benefit caseload references can join this family when their Chronicle packages and model mappings land.", + "category_id": "onem.caseloads" + }, + { + "name": "nbb_household_disposable_income", + "ledger_selector": { + "source_name": "nbb_national_accounts", + "source_measure_id": "household_disposable_income", + "period_type": "calendar_year", + "geography_level": "country" + }, + "entity": "household", + "measure": "household_disposable_income", + "period": 2022, + "family": "national_accounts", + "assertion_policy": "allow_source_projection", + "period_match_policy": "exact", + "metadata": { + "basis_period": "calendar_year_2022", + "criticality": "diagnostic", + "criticality_tier": "validation_only", + "publisher": "NBB", + "series": "Household-sector disposable income (national accounts)", + "target_role": "validation" + }, + "notes": "Validation-tier level anchor only. The macro-realism gate may use it as a broad band, but neither the exact NBB level nor any survey- or EUROMOD-derived quantity enters the calibration objective.", + "category_id": "nbb.national_accounts" + } + ], + "target_profile": { + "schema_version": 2, + "required_families": [ + "demography", + "fiscal_income", + "income_tax", + "social_security", + "caseloads" + ], + "criticality_tiers": { + "demography_release": { + "criticality": "release_blocking", + "relative_tolerance": 0.02, + "description": "Population-structure cells: plus or minus 2 percent." + }, + "core_fiscal_release": { + "criticality": "release_blocking", + "relative_tolerance": 0.05, + "description": "Core fiscal totals, including assessed PIT: plus or minus 5 percent." + }, + "standard_admin_release": { + "criticality": "release_blocking", + "relative_tolerance": 0.1, + "description": "Administrative contribution totals: plus or minus 10 percent." + }, + "caseload_release": { + "criticality": "release_blocking", + "relative_tolerance": 0.15, + "description": "Administrative caseload totals: plus or minus 15 percent." + }, + "commune_diagnostic": { + "criticality": "diagnostic", + "relative_tolerance": 0.1, + "description": "Commune fiscal-income cells: plus or minus 10 percent, reported but not release-blocking." + }, + "validation_only": { + "criticality": "diagnostic", + "relative_tolerance": null, + "description": "Validation oracle only; no calibration tolerance." + } + }, + "basis_periods": { + "population_reference_2023": { + "period": 2023, + "basis": "reference_date", + "fact_period_type": "calendar_year", + "mismatch_policy": "requires_source_projection", + "description": "Earlier-period population-stock reference, retained as inactive groundwork pending the B3 transport reference rewrite." + }, + "assessment_income_year_2022": { + "period": 2022, + "basis": "income_year", + "fact_period_type": "tax_year", + "mismatch_policy": "requires_source_projection", + "description": "Earlier assessed fiscal reference binds the represented 2022 income year; retained as inactive groundwork pending B3, never silently relabelled to 2026." + }, + "calendar_year_2022": { + "period": 2022, + "basis": "calendar_year", + "fact_period_type": "calendar_year", + "mismatch_policy": "requires_source_projection", + "description": "Calendar-year administrative or national-accounts fact aligned to the 2022 income reference year." + } + }, + "hierarchy_reconciliations": [] + }, + "schema_version": 2, + "hierarchy": { + "providers": { + "statbel": { + "label": "Statbel" + }, + "spf_finances": { + "label": "FPS Finance" + }, + "onss": { + "label": "National Social Security Office" + }, + "onem": { + "label": "National Employment Office" + }, + "nbb": { + "label": "National Bank of Belgium" + } + }, + "categories": { + "statbel.demography": { + "provider_id": "statbel", + "label": "Demography" + }, + "statbel.fiscal_income": { + "provider_id": "statbel", + "label": "Fiscal income" + }, + "spf_finances.income_tax": { + "provider_id": "spf_finances", + "label": "Personal income tax" + }, + "onss.social_security": { + "provider_id": "onss", + "label": "Social security contributions" + }, + "onem.caseloads": { + "provider_id": "onem", + "label": "Benefit caseloads" + }, + "nbb.national_accounts": { + "provider_id": "nbb", + "label": "National accounts" + } + } + } +} diff --git a/packages/microcosm-build/tests/golden/be_country_spec.json b/packages/microcosm-build/tests/golden/be_country_spec.json index 23441d0a8a..96047f95be 100644 --- a/packages/microcosm-build/tests/golden/be_country_spec.json +++ b/packages/microcosm-build/tests/golden/be_country_spec.json @@ -1,6 +1,6 @@ { "country": "be", - "fingerprint": "842b6a2d7d99b60216951ab17486724a7d65866864c32c90ad11085a34c92a5d", + "fingerprint": "e4ac1c718e9dfcc120302584eda17ada620580e808d7a73aabe0fa691efee386", "gate_ids": [ "calibration_per_family_fit", "national_and_nuts1_admin_aggregates", @@ -28,18 +28,25 @@ "staging_repo": "policyengine/populace-be-staging" }, "resource_hashes": { - "country_package.json": "1dff9052dbdcdbceeb077d1212008226cf783aa5d33cbda52d07437aef69d30b", + "chronicle_feed.json": "71f3967cefa12d8ad6c4b955547bfc37e33183ee839b3edf3a43e0cb72559030", + "country_package.json": "d6ec55828ac4fe5b4754b0727c0630f7720ad1aff0624d076c55ba8ed68dcfe1", "gates.json": "85c07f713168058a081b40cf94da6a33035108ba7807e04818486032fb2ad580", "geography_spine.json": "090b83a4fa511e691b8f1486bc4188e4170cf9d4a1239e7418d33d5020ceca50", + "holdout_references.json": "c9d32204b4c6364a95fcab066cbbc8b1b99dd49ef608e72c99009f01c7d1c942", + "precal_references.json": "acd7904779b34bca841686fa6000c5cb57db9a031638e021f59ba348f771de63", + "reference_aging.json": "e1eb7a4e5abc6aad77b822bf91b09ad1de0a22d349ee39b63b8bb787bd036404", + "reference_intervals.json": "5c13dc32257d9d3c9b5cbbd14b79c229bbeb7037671778fdb8b09042693bb562", + "reference_inventory.json": "4f19968e175ed87dc985b6b6a5ec55e384f2d7c807922996950db35006a54444", + "reference_profiles.json": "1f7eb7f7a5bde2484b423e12835c9ef5eb8351599c29d836e35a910897ead52a", "release_contract.json": "916d8cba095d05ee5bc0c3d1b8e165eb1cf22867b91f0adac01533448b394730", - "source_stages.json": "c94df32e544b74e7e6a70ae587345c757d9773035fceafc98660f4ab52d09d2c", - "spec/bundle.yaml": "6ef6efbdc1db9765a8d0acaf86c6f2a507d442f425c8fa4900c8350469935451", - "spec/catalogs.yaml": "4234b7c97481cfe677a4d67098b17cece20a8ac805f0d803ace13b20a8eacdd0", + "source_stages.json": "3d0a362345894dc6ea230ebed7fec7ff99a972879dc60c06001635c1b4a1ec47", + "spec/bundle.yaml": "8ac8b75f61f78f67946828863962c9096f8f98ab12b1a44e40e09b5f6cac67eb", + "spec/catalogs.yaml": "46c4ba309e52e5e8afc0612e4d9f85bab703389c9292fc72fbf44370cfbdea1a", "spec/geography.yaml": "99e29bce429e30e6accc471db7cf66a44ecfbc7bc0fd9f0b9caeaa8785fcb7a2", - "spec/sources.yaml": "3fdd8943b0404784880d9b42db05c832744cc79d57d7c73de660fc6a7b89b63c", + "spec/sources.yaml": "24ea9b8c9aac32175d1c75156af5549a05bb3f155fbb23968235f3ead2cbefda", "spec/spine.yaml": "981be4881954d7696fbabf1bc989f619577b6e5600262f1a9c20915461808d41", "spec/vintages.yaml": "1a10d5aedd24cdb2fc9544c7a0d444df0b06d4b089dcb769bf0a7de9218df696", - "target_references.json": "656f41b7c0005519a14411ca488acdf46cc3b739d58531a9f0802b98ccffd526" + "target_references.json": "38178a5015b520061542c471cec70ac34702deccb29b586f6a59045656789465" }, "resources": [ "spec/bundle.yaml", @@ -48,8 +55,15 @@ "spec/sources.yaml", "spec/spine.yaml", "spec/vintages.yaml", + "chronicle_feed.json", "gates.json", "geography_spine.json", + "holdout_references.json", + "precal_references.json", + "reference_aging.json", + "reference_intervals.json", + "reference_inventory.json", + "reference_profiles.json", "release_contract.json", "source_stages.json", "target_references.json" @@ -58,11 +72,65 @@ "load_populace_us_support_pool" ], "target_reference_names": [ - "statbel_population_by_age_sex_region", - "statbel_fiscal_income_by_commune", - "spf_finances_pit_total", - "onss_employee_contribution_total", - "onem_unemployment_caseload", - "nbb_household_disposable_income" + "statbel_population_by_region_sex_age__be1__male__a0_17", + "statbel_population_by_region_sex_age__be1__male__a18_64", + "statbel_population_by_region_sex_age__be1__male__a65_plus", + "statbel_population_by_region_sex_age__be1__female__a0_17", + "statbel_population_by_region_sex_age__be1__female__a18_64", + "statbel_population_by_region_sex_age__be1__female__a65_plus", + "statbel_population_by_region_sex_age__be2__male__a0_17", + "statbel_population_by_region_sex_age__be2__male__a18_64", + "statbel_population_by_region_sex_age__be2__male__a65_plus", + "statbel_population_by_region_sex_age__be2__female__a0_17", + "statbel_population_by_region_sex_age__be2__female__a18_64", + "statbel_population_by_region_sex_age__be2__female__a65_plus", + "statbel_population_by_region_sex_age__be3__male__a0_17", + "statbel_population_by_region_sex_age__be3__male__a18_64", + "statbel_population_by_region_sex_age__be3__male__a65_plus", + "statbel_population_by_region_sex_age__be3__female__a0_17", + "statbel_population_by_region_sex_age__be3__female__a18_64", + "statbel_population_by_region_sex_age__be3__female__a65_plus", + "statbel_a1_standin_declarations__under_10k", + "statbel_a1_standin_taxable_income__under_10k", + "statbel_a1_standin_declarations__10k_20k", + "statbel_a1_standin_taxable_income__10k_20k", + "statbel_a1_standin_declarations__20k_30k", + "statbel_a1_standin_taxable_income__20k_30k", + "statbel_a1_standin_declarations__30k_40k", + "statbel_a1_standin_taxable_income__30k_40k", + "statbel_a1_standin_declarations__40k_50k", + "statbel_a1_standin_taxable_income__40k_50k", + "statbel_a1_standin_declarations__50k_75k", + "statbel_a1_standin_taxable_income__50k_75k", + "statbel_a1_standin_declarations__75k_100k", + "statbel_a1_standin_taxable_income__75k_100k", + "statbel_a1_standin_declarations__100k_plus", + "statbel_a1_standin_taxable_income__100k_plus", + "statbel_b4_declarations__joint", + "statbel_b4_declarations__individual", + "statbel_b1_enrolled_tax__decile_01", + "statbel_b1_enrolled_tax__decile_02", + "statbel_b1_enrolled_tax__decile_03", + "statbel_b1_enrolled_tax__decile_04", + "statbel_b1_enrolled_tax__decile_05", + "statbel_b1_enrolled_tax__decile_06", + "statbel_b1_enrolled_tax__decile_07", + "statbel_b1_enrolled_tax__decile_08", + "statbel_b1_enrolled_tax__decile_09", + "statbel_b1_enrolled_tax__percentile_091", + "statbel_b1_enrolled_tax__percentile_092", + "statbel_b1_enrolled_tax__percentile_093", + "statbel_b1_enrolled_tax__percentile_094", + "statbel_b1_enrolled_tax__percentile_095", + "statbel_b1_enrolled_tax__percentile_096", + "statbel_b1_enrolled_tax__percentile_097", + "statbel_b1_enrolled_tax__percentile_098", + "statbel_b1_enrolled_tax__percentile_099", + "statbel_b1_enrolled_tax__percentile_100", + "onss_worker_personal_contributions", + "onem_complete_unemployment_recipients", + "fpb_unemployment_benefit_expenditure", + "fpb_grapa_expenditure", + "fpb_net_mixed_income" ] } diff --git a/tools/generate_be_target_references.py b/tools/generate_be_target_references.py new file mode 100644 index 0000000000..fe419f0c59 --- /dev/null +++ b/tools/generate_be_target_references.py @@ -0,0 +1,2195 @@ +"""Generate Belgium's reviewed reference documents from a pinned Chronicle artifact. + +Run with ``BE_CHRONICLE_ARTIFACT`` or ``--artifact``. References carry selectors +only: observations stay in Chronicle. The separate inventory resource records the +diagnostics the method card asks to publish (ageing ratios, stand-in gaps, the +B.1 checks) and every exclusion. Each choice that shapes numbers is a proposal +of the Belgian method card (BE-MC0 to BE-MC6), pending Max's ruling d1902; +nothing here publishes a number, and Belgium stays inactive. + +``--pin-feed SOURCE_COMMIT`` rewrites ``chronicle_feed.json`` from the loaded +artifact's verified identity before generating; use it only when Chronicle +re-pins (for example once PolicyEngine/chronicle#401 merges). +""" + +from __future__ import annotations + +import argparse +import copy +import hashlib +import json +import os +import re +from collections import Counter +from fractions import Fraction +from pathlib import Path + +from microcosm.build.ledger_artifact import ( + LexicalFloat, + chronicle_feed_identity, + load_ledger_consumer_artifact, + validate_chronicle_feed_pin, +) +from microcosm.build.ledger_targets import fact_matches_selector + +SPEC = ( + Path(__file__).resolve().parents[1] + / "packages/microcosm-build/src/microcosm/build/be" +) +POLICY_YEAR = 2026 +METHOD_CARD_STATUS = "proposed_pending_d1902" +REGIONS = { + "BE1": "Brussels-Capital Region", + "BE2": "Flemish Region", + "BE3": "Walloon Region", +} +AGE_BANDS = ("0_17", "18_64", "65_plus") +SEXES = ("male", "female") +FPB = "fpb.economic_outlook_2026_2031." +STATBEL_POPULATION = "statbel.population_structure.cy{year}.people.by_nuts1_age_sex" +COMMUNE_POPULATION = ( + "statbel.population_structure.cy2025.people.by_commune_nis2025.total" +) +A1 = "statbel.fiscal_income_distribution.income_year2023.{component}.by_income_class_eur1000" +A1_CLASS = "tax_return.net_taxable_income_class" +A1_COMPONENTS = ( + ("professional_income", "professional_income_eur", "in"), + ("immovable_property_income", "immovable_property_income_eur", "gap"), + ( + "capital_and_movable_property_income", + "capital_and_movable_property_income_eur", + "gap", + ), + ("miscellaneous_income", "miscellaneous_income_eur", "gap"), + ("deductible_expenditures", "deductible_expenditures_eur", "gap_subtracted"), +) +B1_VALUES = "statbel.fiscal_income_distribution.b1.decile_values.v1" +B1_PERCENTILES = "statbel.fiscal_income_distribution.b1.top_decile_percentile_values.v1" +B1_BOUNDS = "statbel.fiscal_income_distribution.b1.decile_bounds.v1" +B1_PERCENTILE_BOUNDS = ( + "statbel.fiscal_income_distribution.b1.top_decile_percentile_bounds.v1" +) +B1_GROUPS = ( + *(f"decile_{decile:02d}" for decile in range(1, 10)), + *(f"percentile_{percentile:03d}" for percentile in range(91, 101)), +) +B4 = "statbel.fiscal_income_distribution.b4.declaration_type_age_decile.v1" + +# The d1952 stand-in bands, fixed in advance and before any candidate exists +# (BE-MC5; d1952 option A). Edges are income-year-2023 euros of total net +# taxable income, chosen on A.1's own class edges so every band is an exact sum +# of published EUR 1,000 classes and no cut is interpolated. EUR 10,000 steps +# cover the dense middle of the declaration distribution, which holds B.1's +# deciles 3 to 7 whole (their bounds run from EUR 16,867 to EUR 44,639); above +# EUR 50,000 counts thin, so the steps widen; A.1's open top class (EUR 100,000 +# and more) stays whole. Eight bands give sixteen count and amount +# constraints, the "short list" d1952 asks for, not 101 classes. The +# lowest band is kept so the bands partition A.1's whole positive range and sum +# exactly to B.4's joint plus individual declarations. +STANDIN_BANDS = ( + ("under_10k", 0, 10_000), + ("10k_20k", 10_000, 20_000), + ("20k_30k", 20_000, 30_000), + ("30k_40k", 30_000, 40_000), + ("40k_50k", 40_000, 50_000), + ("50k_75k", 50_000, 75_000), + ("75k_100k", 75_000, 100_000), + ("100k_plus", 100_000, None), +) +STANDIN_MEASUREMENT = "statbel_net_taxable_income_proxy_v1" +STANDIN_MONEY_COLUMN = f"{STANDIN_MEASUREMENT}_eur" +STANDIN_INCOME_COLUMN = f"{STANDIN_MEASUREMENT}_cents" +STANDIN_UNIVERSE_COLUMN = f"{STANDIN_MEASUREMENT}_universe_status" +STANDIN_TABLE = "statbel_a1_standin_bands_iy2023" +STANDIN_REASON = ( + "B4/W3: the d1952 stand-in measurement statbel_net_taxable_income_proxy_v1 " + "(rule-computed net professional income per declaration on the S2-d " + "tax_unit) has no producer, and legal pensions, part of professional " + "income, are not modelled until d1902. The band cuts are income-year-2023 " + "euros: ageing them to 2026 needs a shared operation that scales interval " + "cuts by a declared annual ratio pair. scale_money_and_intervals needs a " + "G8-r2 factor and singleton identity money rows, and G8-r2's resolver needs " + "dated observations through the target period; neither fits FPB's annual " + "2026 projections or summed bands, so reference_profile:aging_index stays " + "deferred. The stand-in is never described as reproducing official " + "taxable income." +) +B4_REASON = ( + "S1/S2-d: the declared tax-unit partition and the BE-MC4 legal-status proxy " + "(partner pointers calibrated to these counts) are not built; joint and " + "individual declaration indicators have no producer. B.4, like A.1, counts " + "only declarations with positive total net taxable income (Statbel's 523,770 " + "zero-income declarations of income year 2023 are outside it), so the " + "indicators must count the same declared filing universe as the A.1 bands " + "(d1952 build item 2), or the target overshoots by up to 7%." +) +DECLARATION_UNIVERSE = ( + "filed declarations with positive total net taxable income; zero-income " + "declarations are outside A.1, B.1 and B.4" +) +B1_REASON = ( + "BE-MC5 activates B.1 only after its tax definition, income ranking and " + "policy year are checked. All three checks fail or cannot be completed from " + "the documents (reference_inventory.json b1_checks), so B.1 stays inactive " + "and unaged at its source period." +) +RULES_REASON = ( + "W3: needs a pinned rulespec-be binding for {module} on the transported " + "frame, the S5 pre-calibration allowlist entry for it, and B4's euro " + "conversion of the donor inputs it reads." +) + +# Declared ratio pairs from the FPB June 2026 outlook. Each pair is one +# published annex row at two periods; its numerator is FPB's 2026 projection +# and its denominator the observed value at the base fact's own period, so +# rolled_forward_by_ratio applies base * numerator / denominator. The reviewed +# lexical tokens are assertions of the feed, never arithmetic inputs. The +# series choice for each pair is a B3 proposal (reported as a finding). +AGEING_PAIRS = { + "fpb_t07_total_population": { + "row": "labour_market.levels.total_population", + "operands": {2023: "11730600", 2026: "11896000"}, + "use": "calibration", + "reason": "Declaration counts follow resident population (August's alignment); A.1 band counts and B.4 type counts share this pair so the bands still sum to B.4's joint plus individual total.", + }, + "fpb_t11_total_resources": { + "row": "household_account.total_resources", + "operands": {2023: "518286000000", 2026: "571010000000"}, + "use": "calibration", + "reason": "Net professional income mixes wages, replacement incomes, pensions and profits; the household account's total resources is the one FPB row spanning them (August's resource alignment).", + }, + "fpb_t11_actual_social_contributions": { + "row": "household_account.actual_social_contributions", + "operands": {2024: "94613000000", 2026: "101300000000"}, + "use": "calibration", + "reason": "Employee personal contributions follow FPB's actual social contributions; gross wages stay free for the wage-headline holdout.", + }, + "fpb_t24_social_security_cash_unemployment": { + "row": "social_benefits_detail.social_security_cash_unemployment", + "operands": {2025: "5602000000", 2026: "4255000000"}, + "use": "calibration", + "reason": "The target's own series, FPB T24 line a., rolled by its 2026/2025 step. unemployment_series_choice in the inventory compares it with the larger line 4.", + }, + "fpb_t24_federal_cash_income_guarantee_for_older_people": { + "row": "social_benefits_detail.federal_government_cash_income_guarantee_for_older_people", + "operands": {2025: "1025000000", 2026: "1034000000"}, + "use": "calibration", + "reason": "The target's own series (GRAPA).", + }, + "fpb_t11_net_mixed_income": { + "row": "household_account.net_mixed_income", + "operands": {2025: "39834000000", 2026: "41044000000"}, + "use": "calibration", + "reason": "The target's own series (BE-MC3 self-employment aggregate).", + }, + "fpb_t17_direct_taxes_households": { + "row": "general_government_account.direct_taxes_households", + "operands": {2025: "77771000000", 2026: "81561000000"}, + "use": "holdout", + "reason": "Government direct taxes on households, the FPB counterpart of D51A_C1.", + }, + "fpb_t06_net_national_disposable_income": { + "row": "national_income_account.net_national_disposable_income", + "operands": {2024: "500699000000", 2026: "534156000000"}, + "use": "holdout", + "reason": "FPB publishes no household disposable income; national net disposable income is the nearest disposable-income row (a proxy).", + }, + "fpb_t11_social_benefits": { + "row": "household_account.social_benefits", + "operands": {2024: "124608000000", 2026: "132674000000"}, + "use": "holdout", + "reason": "The household account row matching Eurostat D62 received.", + }, + "fpb_t11_social_contributions": { + "row": "household_account.social_contributions", + "operands": {2024: "112346000000", 2026: "120094000000"}, + "use": "holdout", + "reason": "The household account row matching Eurostat D61 paid.", + }, + "fpb_t11_current_taxes_on_income_and_wealth": { + "row": "household_account.current_taxes_on_income_and_wealth", + "operands": {2024: "77033000000", 2026: "83113000000"}, + "use": "holdout", + "reason": "The household account row matching Eurostat D5 paid.", + }, + "fpb_t11_gross_wages_and_salaries": { + "row": "household_account.gross_wages_and_salaries", + "operands": {2025: "240536000000", 2026: "247221000000"}, + "use": "holdout", + "reason": "The card's wage-headline comparator (FPB salaires bruts), rolled by its own 2026/2025 step.", + }, +} +# Observed FPB levels the inventory splits each pair at (2025 is the last +# observed year); reviewed like the pair operands. +FPB_OBSERVED_2025 = { + "fpb_t07_total_population": "11850400", + "fpb_t11_total_resources": "554117000000", + "fpb_t11_actual_social_contributions": "98402000000", + "fpb_t06_net_national_disposable_income": "519140000000", + "fpb_t11_social_benefits": "128659000000", + "fpb_t11_social_contributions": "116379000000", + "fpb_t11_current_taxes_on_income_and_wealth": "79273000000", +} +# G8-r2 factors need operands with dated period coverage. FPB's annex facts +# carry none, so the only Belgian operands the resolver can authenticate are +# RSZ's annual wage totals: diagnostic cross-checks of the observed segment of +# the wage-driven pairs, never profile or money-normalization inputs. +# FPB T24 prints unemployment twice. The pair takes line a.; these reviewed 2025 +# levels keep the inventory's comparison with line 4 tied to the feed. +T24_UNEMPLOYMENT_2025 = { + "chosen": ("social_security_cash_unemployment", "5602000000"), + "alternative": ("social_security_cash_unemployment_total", "6510000000"), + "company_supplement": ( + "social_security_cash_unemployment_with_company_supplement", + "167000000", + ), + "career_breaks": ( + "social_security_cash_career_breaks_and_time_credit", + "740000000", + ), +} +RSZ_SOURCE_SHA256 = "7f97f510d332a0966b1afba110ce448f4a4a83d9d58fd5c3bb4d8d36d1aeca97" +RSZ_OPERANDS = {2023: "160796591.5", 2024: "165739460", 2025: "171074878.6"} +RSZ_FACTORS = { + "rsz_ordinary_remuneration_cy2023_to_cy2025_observed": (2023, 1063921), + "rsz_ordinary_remuneration_cy2024_to_cy2025_observed": (2024, 1032192), +} +FACTOR_VALIDITY = { + "declared_on": "2026-11-01", + "valid_from": "2026-11-01", + "valid_until": "2027-06-30", + "as_of": "2026-11-01", +} +# Chronicle labels Statbel's regions NUTS_2024, while the typed geography layer +# names vintage:be_nuts1_2025 and its closed alias set admits no NUTS label. +# Each selector keeps Chronicle's label, and its row names the layer's typed +# authority, so an unreviewed label refuses at generation. +GEOGRAPHY_VINTAGES = { + "nuts1": ("NUTS_2024", "vintage:be_nuts1_2025"), + "commune": ("nis_2025", "vintage:be_nis_2025"), +} +TRANSPORTED_INPUTS = {"employment_income", "nonfarm_self_employment_income"} +PROVIDERS = { + "statbel": "Statbel", + "fpb": "Federal Planning Bureau", + "onss": "National Social Security Office", + "onem": "National Employment Office", + "eurostat": "Eurostat", + "nbb": "National Bank of Belgium", +} +CATEGORIES = { + "statbel.demography": ("statbel", "Demography"), + "statbel.geography_support": ("statbel", "Geography support"), + "statbel.fiscal_income": ("statbel", "Fiscal income"), + "statbel.income_tax": ("statbel", "Assessed income tax"), + "onss.social_security": ("onss", "Social security contributions"), + "onem.caseloads": ("onem", "Benefit caseloads"), + "fpb.benefit_expenditure": ("fpb", "Benefit expenditure"), + "fpb.self_employment": ("fpb", "Self-employment income"), + "fpb.household_account": ("fpb", "Household account"), + "eurostat.income_tax": ("eurostat", "Income tax revenue"), + "eurostat.household_accounts": ("eurostat", "Household accounts"), + "nbb.national_accounts": ("nbb", "National accounts"), +} +DEFERRED_JRC = ( + "jrc-euromod-be-baseline-statistics-2025 is outside the Chronicle be suite " + "while d1822 (move it to the scorecard, its only consumer) is open; no " + "reference selects JRC. August took two calibration rows from it: the " + "unemployment recipient count, now read from ONEM/RVA's own 2024 count " + "(a different concept, parked), and the RIS amount and recipient count, " + "for which the suite holds no source, so no RIS reference exists." +) + + +def _token(value): + if isinstance(value, LexicalFloat): + return value.lexical_token + if isinstance(value, bool) or not isinstance(value, (int, float)): + raise ValueError(f"Non-numeric fact value {value!r}") + return repr(value) if isinstance(value, float) else str(value) + + +def _belgian(fact, communes=None): + """Refuse any fact outside Belgium before a selector can name it.""" + + geography = fact["geography"] + level, area = geography["level"], geography["id"] + if ( + (level == "country" and area == "BE") + or (level == "nuts1" and area in REGIONS) + or ( + level == "commune" + and re.fullmatch(r"[1-9][0-9]{4}", area) + and (communes is None or area in communes) + ) + ): + return fact + raise ValueError( + f"Belgian selectors read Belgian facts only; got {level} {area!r} " + f"({fact['aggregate_fact_key']})." + ) + + +# _selector, Inventory and _typed_equal follow tools/generate_nz_target_references.py +# (copied, not imported: Belgium must not bind to NZ's generator module). +def _selector(fact, *, pin_key=True): + _belgian(fact) + measure, geography = fact["observed_measure"], fact["geography"] + result = { + "source_name": measure["source_name"], + "source_measure_id": measure["source_measure_id"], + "source_concept": measure["source_concept"], + "entity_name": fact["entity"]["name"], + "period_type": fact["period"]["type"], + "period_value": fact["period"]["value"], + "geography_level": geography["level"], + "geography_id": geography["id"], + "geography_vintage": geography["vintage"], + "record_set_id": fact["layout"]["record_set_id"], + "dimensions": list(fact["dimensions"]), + } + if fact["dimensions"]: + result["dimension_values"] = dict(fact["dimensions"]) + if pin_key: + result["aggregate_fact_key"] = fact["aggregate_fact_key"] + return result + + +class Inventory: + def __init__(self, facts): + self.by_record_set, self.by_spec = {}, {} + for fact in facts: + layout = fact.get("layout", {}) + self.by_record_set.setdefault(layout.get("record_set_id"), []).append(fact) + self.by_spec.setdefault(layout.get("record_set_spec_id"), []).append(fact) + + def cells( + self, + record_set=None, + *, + spec=None, + measure=None, + geography=None, + period=None, + dimensions=None, + ): + result = ( + self.by_record_set.get(record_set, []) + if spec is None + else self.by_spec.get(spec, []) + ) + if measure is not None: + result = [ + f + for f in result + if f["observed_measure"]["source_measure_id"] == measure + ] + if geography is not None: + result = [f for f in result if f["geography"]["id"] == geography] + if period is not None: + result = [f for f in result if f["period"]["value"] == period] + if dimensions is not None: + result = [f for f in result if _typed_equal(f["dimensions"], dimensions)] + return result + + def one(self, *args, **kwargs): + matches = self.cells(*args, **kwargs) + if len(matches) != 1: + raise ValueError( + f"Expected one source cell for {args!r} {kwargs!r}; found {len(matches)}" + ) + return _belgian(matches[0]) + + +def _typed_equal(actual, expected): + return actual.keys() == expected.keys() and all( + type(actual[k]) is type(v) and actual[k] == v for k, v in expected.items() + ) + + +def _eurostat(inventory, spec, period, **dimensions): + matches = [ + fact + for fact in inventory.cells(spec=spec, geography="BE", period=period) + if all( + fact["dimensions"].get(key) == value for key, value in dimensions.items() + ) + ] + if len(matches) != 1: + raise ValueError(f"Expected one Eurostat cell {spec} {period} {dimensions}") + return _belgian(matches[0]) + + +def _fpb(inventory, row, period): + fact = inventory.one( + f"{FPB}cy{period}.{row}", geography="BE", dimensions={}, period=period + ) + if fact["observed_measure"]["source_name"] != "fpb_economic_outlook": + raise ValueError(f"FPB row {row} is not an FPB outlook fact") + return fact + + +def _pair(inventory, pair_id, base_period): + """Return the reviewed numerator/denominator facts of one declared pair.""" + + pair = AGEING_PAIRS[pair_id] + if set(pair["operands"]) != {base_period, POLICY_YEAR}: + raise ValueError(f"{pair_id} is declared for {sorted(pair['operands'])}") + numerator = _fpb(inventory, pair["row"], POLICY_YEAR) + denominator = _fpb(inventory, pair["row"], base_period) + for fact, period, assertion in ( + (numerator, POLICY_YEAR, "source_projection"), + (denominator, base_period, "observation"), + ): + if ( + _token(fact["value"]) != pair["operands"][period] + or fact["assertion"] != assertion + ): + raise ValueError(f"Reviewed FPB operand {pair_id} {period} changed") + if ( + numerator["layout"]["record_set_spec_id"] + != denominator["layout"]["record_set_spec_id"] + or numerator["layout"]["source_row_id"] + != denominator["layout"]["source_row_id"] + or numerator["observed_measure"]["source_concept"] + != denominator["observed_measure"]["source_concept"] + ): + raise ValueError(f"{pair_id} numerator and denominator are not one row") + return numerator, denominator + + +def _operand(role, fact): + selector = _selector(fact) + selector["assertion"] = fact["assertion"] + return {"role": role, **selector} + + +def _roll(reference, pair_id, numerator, denominator, *, base_fact=None, members=None): + base = {"role": "base"} + selector = reference["ledger_selector"] + selector["assertion"] = "observation" + if members is not None: + dimension, values = members + base["expected_member_count"] = len(values) + selector.pop("aggregate_fact_key") + selector["dimension_values"][dimension] = list(values) + reference.update( + { + "value_operation": "rolled_forward_by_ratio", + "value_operands": [ + base, + _operand("numerator", numerator), + _operand("denominator", denominator), + ], + "period": POLICY_YEAR, + "period_match_policy": "latest_not_after", + "assertion_policy": "allow_source_projection", + } + ) + if base_fact is not None and _value(base_fact) == _value(denominator): + # A base equal to the denominator makes the target FPB's 2026 + # projection of the row: declared, not hidden. + reference["metadata"]["ageing_target_equals"] = ( + "FPB's 2026 projection of the base's own row" + if base_fact["aggregate_fact_key"] == denominator["aggregate_fact_key"] + else "FPB's 2026 projection of the pair's row: the base equals its denominator" + ) + reference["metadata"].update( + { + "ageing": "rolled_forward_by_ratio", + "ageing_pair": pair_id, + "ageing_source": "FPB Economic Outlook 2026-2031, June 2026 annex", + "source_period": str(denominator["period"]["value"]), + "target_period": str(POLICY_YEAR), + } + ) + + +def _vintage_authority(fact): + """Return a subnational fact's typed authority; refuse an unreviewed label.""" + + geography = fact["geography"] + if geography["level"] == "country": + return None + vintage, authority = GEOGRAPHY_VINTAGES[geography["level"]] + if geography["vintage"] != vintage: + raise ValueError( + f"{geography['level']} fact carries vintage {geography['vintage']!r}; " + f"the reviewed mapping names {vintage!r}." + ) + return authority + + +def _measure_kind(measure): + if measure.startswith("belgium_"): + return "rules_output" + return "transported_input" if measure in TRANSPORTED_INPUTS else "prepared_column" + + +def _reference( + fact, + *, + name, + contract, + category, + entity, + measure, + family, + reference_set, + status, + method_card, + measure_kind, + reason=None, + filter_column=None, + period=None, + tolerance=None, +): + provider = CATEGORIES[category][0] + role = { + "calibration": "calibration", + "precal": "pre_calibration", + "holdout": "validation", + }[reference_set] + result = { + "name": name, + "ledger_selector": _selector(fact), + "entity": entity, + "measure": measure, + "period": fact["period"]["value"] if period is None else period, + "family": family, + "category_id": category, + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": contract, + "activation_status": status, + "criticality": "release_blocking" + if reference_set != "holdout" + else "diagnostic", + "measure_kind": measure_kind, + "publisher": PROVIDERS[provider], + "target_role": role, + "reference_set": reference_set, + "method_card_row": method_card, + "method_card_status": METHOD_CARD_STATUS, + }, + } + authority = _vintage_authority(fact) + if authority is not None: + result["metadata"].update( + geography_vintage=fact["geography"]["vintage"], + geography_vintage_authority=authority, + ) + if tolerance is not None: + result["metadata"]["fit_tolerance"] = tolerance + if filter_column is not None: + result["filter"] = filter_column + if reason: + result["metadata"]["parking_reason"] = reason + result["notes"] = reason + return result + + +def _hierarchy(rows, labels): + used = sorted({row["category_id"] for row in rows}) + return { + "providers": { + provider: {"label": PROVIDERS[provider]} + for provider in sorted({CATEGORIES[category][0] for category in used}) + }, + "categories": { + category: { + "provider_id": CATEGORIES[category][0], + "label": CATEGORIES[category][1], + } + for category in used + }, + "target_labels": { + contract: labels[contract] + for contract in sorted( + {row["metadata"]["contract_target_id"] for row in rows} + ) + }, + } + + +def _a1_classes(inventory): + """Read A.1's EUR 1,000 classes and their bounds from Chronicle's constraints.""" + + facts = inventory.cells( + A1.format(component="taxable_income"), measure="declarations", geography="BE" + ) + classes = [] + for fact in facts: + code = fact["dimensions"][A1_CLASS] + if code == "all": + continue + bounds = {"lower": None, "upper": None} + for row in fact["universe_constraints"]["constraints"]: + if row["variable"] != "tax_return.net_taxable_income": + continue + if row.get("unit") != "eur": + raise ValueError(f"A.1 class {code} bound is not in euros") + if row["operator"] in {">", ">="}: + bounds["lower"] = (row["value"], row["operator"]) + elif row["operator"] == "<": + bounds["upper"] = row["value"] + else: + raise ValueError(f"A.1 class {code} has operator {row['operator']}") + classes.append((bounds["lower"], bounds["upper"], code)) + classes.sort(key=lambda row: row[0][0]) + previous = None + for index, ((lower, operator), upper, code) in enumerate(classes): + if index == 0: + if (lower, operator) != (0, ">"): + raise ValueError("A.1's first class must exclude zero income") + elif (lower, operator) != (previous, ">="): + raise ValueError(f"A.1 class {code} leaves a gap or overlap") + previous = upper + if classes[-1][1] is not None or len(classes) != 101: + raise ValueError("A.1 must hold 101 classes ending in an open top class") + return [(lower, upper, code) for (lower, _), upper, code in classes] + + +def _band_members(classes): + members = {} + ends = {code: end for _, end, code in classes} + for band, lower, upper in STANDIN_BANDS: + inside = [ + code + for start, end, code in classes + if start >= lower and (upper is None or (end is not None and end <= upper)) + ] + edges = [start for start, _, code in classes if code in inside] + if not inside or edges[0] != lower or ends[inside[-1]] != upper: + raise ValueError(f"Band {band} does not sit on A.1 class edges") + members[band] = inside + flat = [code for band in members for code in members[band]] + if flat != [code for _, _, code in classes]: + raise ValueError("Stand-in bands must partition A.1's positive classes") + return members + + +def calibration_references(inventory, pairs, members): + rows, labels = [], {} + for region in REGIONS: + for sex in SEXES: + for band in AGE_BANDS: + fact = inventory.one( + STATBEL_POPULATION.format(year=POLICY_YEAR), + geography=region, + dimensions={"person.age_band": band, "person.sex": sex}, + ) + code = region.lower() + rows.append( + _reference( + fact, + name=f"statbel_population_by_region_sex_age__{code}__{sex}__a{band}", + contract="statbel_population_by_region_sex_age", + category="statbel.demography", + entity="person", + measure="people", + family="demography", + reference_set="calibration", + status="active", + method_card="BE-MC6", + measure_kind="prepared_column", + filter_column=f"population_region_{code}_{sex}_age_{band}_indicator", + tolerance="0.02", + ) + ) + rows[-1]["period_match_policy"] = "exact" + rows[-1]["metadata"].update( + { + "ageing": "none: observation for the target year", + "source_snapshot": "1 January 2026 resident population", + "target_period": str(POLICY_YEAR), + } + ) + labels["statbel_population_by_region_sex_age"] = ( + "Statbel resident population on 1 January 2026 by region, sex and age band" + ) + count_num, count_den = pairs["fpb_t07_total_population"] + money_num, money_den = pairs["fpb_t11_total_resources"] + for band, lower, upper in STANDIN_BANDS: + anchor = inventory.one( + A1.format(component="taxable_income"), + measure="declarations", + geography="BE", + dimensions={A1_CLASS: members[band][0]}, + ) + money_anchor = inventory.one( + A1.format(component="taxable_income"), + measure="taxable_income_eur", + geography="BE", + dimensions={A1_CLASS: members[band][0]}, + ) + for kind, fact, contract, measure, numerator, denominator, pair_id in ( + ( + "count", + anchor, + "statbel_a1_standin_declarations_by_band", + "tax_units", + count_num, + count_den, + "fpb_t07_total_population", + ), + ( + "money", + money_anchor, + "statbel_a1_standin_taxable_income_by_band", + STANDIN_MONEY_COLUMN, + money_num, + money_den, + "fpb_t11_total_resources", + ), + ): + row = _reference( + fact, + name=f"{contract.removesuffix('_by_band')}__{band}", + contract=contract, + category="statbel.fiscal_income", + entity="tax_unit", + measure=measure, + family="fiscal_income", + reference_set="calibration", + status="requires_prerequisites", + method_card="BE-MC5", + measure_kind="prepared_column", + reason=STANDIN_REASON, + filter_column=f"statbel_a1_standin_band_{band}_indicator", + tolerance="0.05", + ) + _roll( + row, pair_id, numerator, denominator, members=(A1_CLASS, members[band]) + ) + row["metadata"].update( + { + "reference_value_kind": kind, + "required_reference_profile": "aging_index", + "required_measurement_binding": STANDIN_MEASUREMENT, + "reference_prerequisites": json.dumps( + [ + "reference_profile:aging_index", + f"measurement:{STANDIN_MEASUREMENT}", + ], + separators=(",", ":"), + ), + "interval_table_id": STANDIN_TABLE, + "declaration_universe": DECLARATION_UNIVERSE, + "standin_band": band, + "standin_band_lower_eur_iy2023": str(lower), + "standin_band_upper_eur_iy2023": "open" + if upper is None + else str(upper), + } + ) + rows.append(row) + labels["statbel_a1_standin_declarations_by_band"] = ( + "Stand-in income (d1952): Statbel A.1 declarations by broad band of total " + "net taxable income, rolled to 2026 (parked)" + ) + labels["statbel_a1_standin_taxable_income_by_band"] = ( + "Stand-in income (d1952): Statbel A.1 total net taxable income by broad " + "band, rolled to 2026 (parked)" + ) + for declaration_type in ("joint", "individual"): + fact = inventory.one( + spec=B4, + measure="declarations", + geography="BE", + dimensions={ + "tax_return.age_band": "all", + "tax_return.decile": 1, + "tax_return.declaration_type": declaration_type, + }, + ) + row = _reference( + fact, + name=f"statbel_b4_declarations__{declaration_type}", + contract="statbel_b4_declarations_by_type", + category="statbel.fiscal_income", + entity="tax_unit", + measure="tax_units", + family="fiscal_income", + reference_set="calibration", + status="requires_declared_tax_units", + method_card="BE-MC4", + measure_kind="prepared_column", + reason=B4_REASON, + filter_column=f"{declaration_type}_declaration_indicator", + tolerance="0.05", + ) + _roll( + row, + "fpb_t07_total_population", + count_num, + count_den, + members=("tax_return.decile", list(range(1, 11))), + ) + row["metadata"].update( + reference_value_kind="count", declaration_universe=DECLARATION_UNIVERSE + ) + rows.append(row) + labels["statbel_b4_declarations_by_type"] = ( + "Statbel B.4 joint and individual declarations (all ages, deciles 1-10 " + "summed), rolled to 2026 (parked)" + ) + for group in B1_GROUPS: + fact = inventory.one( + spec=B1_VALUES if group.startswith("decile") else B1_PERCENTILES, + measure="total_tax_eur", + geography="BE", + dimensions={"tax_return.rank_group": group}, + ) + row = _reference( + fact, + name=f"statbel_b1_enrolled_tax__{group}", + contract="statbel_b1_enrolled_tax_by_rank_group", + category="statbel.income_tax", + entity="tax_unit", + measure="statbel_b1_enrolled_tax_proxy_v1_eur", + family="income_tax", + reference_set="calibration", + status="inactive_pending_b1_checks", + method_card="BE-MC5", + measure_kind="prepared_column", + reason=B1_REASON, + filter_column=f"statbel_b1_rank_group_{group}_indicator", + tolerance="0.05", + ) + row["signed"] = True + row["period_match_policy"] = "exact" + row["metadata"].update( + { + "ageing": "none declared: B.1 checks failed", + "reference_value_kind": "money", + "source_period": "2023", + } + ) + rows.append(row) + labels["statbel_b1_enrolled_tax_by_rank_group"] = ( + "Statbel B.1 total enrolled tax by decile 1-9 and top percentiles 91-100, " + "income year 2023 (inactive: checks failed)" + ) + onss = inventory.one( + spec="onss.contributions.worker_personal_contributions.country.v1", + geography="BE", + ) + row = _reference( + onss, + name="onss_worker_personal_contributions", + contract="onss_worker_personal_contributions", + category="onss.social_security", + entity="person", + measure="belgium_worker_article_17_uncapped_component_contribution", + family="social_security", + reference_set="calibration", + status="requires_rules_binding", + method_card="BE-MC6", + measure_kind="rules_output", + reason=RULES_REASON.format( + module="be/statutes/social_security/workers/contribution_rates.yaml" + ), + tolerance="0.05", + ) + _roll( + row, + "fpb_t11_actual_social_contributions", + *pairs["fpb_t11_actual_social_contributions"], + base_fact=onss, + ) + rows.append(row) + labels["onss_worker_personal_contributions"] = ( + "ONSS/RSZ worker-borne personal contributions, 2024, rolled to 2026 (parked)" + ) + onem = inventory.one( + spec="onem_rva.unemployment.complete_unemployment.country.v1", geography="BE" + ) + rows.append( + _reference( + onem, + name="onem_complete_unemployment_recipients", + contract="onem_complete_unemployment_recipients", + category="onem.caseloads", + entity="person", + measure="receives_unemployment_benefit", + family="caseloads", + reference_set="calibration", + status="requires_ageing_ruling_and_receipt_binding", + method_card="BE-MC6", + measure_kind="receipt_flag", + reason=( + "No declared ageing pair: FPB publishes jobseeker levels (BFP " + "unemployment, +0.6% 2026/2025), not benefit recipients, and its " + "unemployment benefit spending falls 24% in 2026, so the two " + "series point opposite ways and neither ages a recipient count. " + "Kept unaged at its 2024 source period. Also needs W3's receipt " + "contract for unemployment." + ), + tolerance="0.05", + ) + ) + rows[-1]["period_match_policy"] = "exact" + rows[-1]["metadata"]["ageing"] = "none declared: no recipient series" + labels["onem_complete_unemployment_recipients"] = ( + "ONEM/RVA complete-unemployment benefit recipients, 2024 monthly average " + "(parked, unaged)" + ) + for ( + name, + pair_id, + category, + entity, + measure, + family, + status, + method_card, + reason, + label, + ) in ( + ( + "fpb_unemployment_benefit_expenditure", + "fpb_t24_social_security_cash_unemployment", + "fpb.benefit_expenditure", + "household", + "belgium_unemployment_ordinary_annual_payable_amount", + "benefit_expenditure", + "requires_receipt_contract_and_rules_binding", + "BE-MC6", + RULES_REASON.format( + module="be/regulations/unemployment/pilot_oracle_pipeline.yaml" + ) + + " Unemployment history inputs and W3's receipt contract are also missing.", + "FPB social-security unemployment benefits, 2025, rolled to 2026 (parked)", + ), + ( + "fpb_grapa_expenditure", + "fpb_t24_federal_cash_income_guarantee_for_older_people", + "fpb.benefit_expenditure", + "person", + "belgium_grapa_income_guarantee_for_elderly_annual_amount", + "benefit_expenditure", + "requires_pension_route_d1902", + "BE-MC6", + "GRAPA is means-tested on pension income, and legal pensions are not " + "modelled until d1902 settles BE-MC3's pension route. " + + RULES_REASON.format( + module="be/statutes/income_guarantee_for_elderly/payable_amount.yaml" + ), + "FPB income guarantee for older people (GRAPA), 2025, rolled to 2026 (parked)", + ), + ( + "fpb_net_mixed_income", + "fpb_t11_net_mixed_income", + "fpb.self_employment", + "person", + "nonfarm_self_employment_income", + "self_employment", + "requires_currency_bridge_b4", + "BE-MC3", + "B4: BE-MC3 gives self-employment income FX and uprating only, then " + "calibrates its aggregate; the euro column has no producer until " + "B4's currency bridge. FPB's net mixed income also covers farm " + "income, which the donor carries separately.", + "FPB household net mixed income, 2025, rolled to 2026 (parked)", + ), + ): + numerator, denominator = pairs[pair_id] + fact = denominator + row = _reference( + fact, + name=name, + contract=name, + category=category, + entity=entity, + measure=measure, + family=family, + reference_set="calibration", + status=status, + method_card=method_card, + measure_kind=_measure_kind(measure), + reason=reason, + tolerance="0.05", + ) + _roll(row, pair_id, numerator, denominator, base_fact=fact) + rows.append(row) + labels[name] = label + return rows, labels + + +def precal_references(communes): + rows = [] + for code in sorted(communes): + fact = _belgian(communes[code], communes) + row = _reference( + fact, + name=f"statbel_population_by_commune__nis{code}", + contract="statbel_population_by_commune", + category="statbel.geography_support", + entity="person", + measure="people", + family="geography_support", + reference_set="precal", + status="active", + method_card="geography_spine", + measure_kind="prepared_column", + ) + row["metadata"].update( + { + "precal_use": "atomic_geography_support", + "ageing": "none: support shares at 1 January 2025", + } + ) + rows.append(row) + labels = { + "statbel_population_by_commune": "Statbel resident population by NIS 2025 commune, 1 January 2025 (atomic geography support)", + } + return rows, labels + + +def holdout_references(inventory, pairs): + rows, labels = [], {} + d51 = _eurostat( + inventory, + "eurostat.gov_10a_taxag.income_tax_revenue_by_taxpayer.country.v1", + 2025, + na_item="D51A_C1", + sector="S13", + ) + nbb = inventory.one( + spec="nbb.national_accounts.household_disposable_income.country.v1", + geography="BE", + ) + wages = pairs["fpb_t11_gross_wages_and_salaries"][1] + + def nasa(item, direction): + return _eurostat( + inventory, + "eurostat.nasa_10_nf_tr.household_non_financial_transactions.direction.country.v1", + 2024, + na_item=item, + direct=direction, + sector="S14_S15", + ) + + declarations = ( + ( + d51, + "eurostat_d51a_c1_individual_income_tax", + "fpb_t17_direct_taxes_households", + "eurostat.income_tax", + "person", + "belgium_pit_federal_and_local_tax_before_withholding", + "income_tax", + "Eurostat D51A_C1 taxes on individual or household income, 2025, rolled to 2026", + "Accrual national-accounts revenue held out against assessed tax (BE-MC5). " + + RULES_REASON.format( + module="be/statutes/income_tax/individual/final_tax.yaml" + ), + ), + ( + nbb, + "nbb_household_gross_disposable_income", + "fpb_t06_net_national_disposable_income", + "nbb.national_accounts", + "household", + "household_gross_disposable_income_eur", + "national_accounts", + "NBB household gross disposable income (B6G), 2024, rolled to 2026", + "No producer: rulespec-be's disposable-income policy is a narrow worker bridge, not integrated disposable income.", + ), + ( + nasa("B6G", "RECV"), + "eurostat_household_gross_disposable_income", + "fpb_t06_net_national_disposable_income", + "eurostat.household_accounts", + "household", + "household_gross_disposable_income_eur", + "household_accounts", + "Eurostat household and NPISH gross disposable income (B6G), 2024, rolled to 2026", + "No producer, as for NBB's B6G. Eurostat's S14_S15 sector adds non-profit institutions to NBB's household figure.", + ), + ( + nasa("D62", "RECV"), + "eurostat_household_social_benefits_received", + "fpb_t11_social_benefits", + "eurostat.household_accounts", + "household", + "household_social_benefits_received_eur", + "household_accounts", + "Eurostat household social benefits received (D62), 2024, rolled to 2026", + "No producer: pensions (d1902), child benefits (not modelled at level) and unemployment receipts (W3) are missing.", + ), + ( + nasa("D61", "PAID"), + "eurostat_household_social_contributions_paid", + "fpb_t11_social_contributions", + "eurostat.household_accounts", + "household", + "household_social_contributions_paid_eur", + "household_accounts", + "Eurostat household social contributions paid (D61), 2024, rolled to 2026", + "No producer: employer and self-employed contributions are not bound (W3).", + ), + ( + nasa("D5", "PAID"), + "eurostat_household_current_taxes_paid", + "fpb_t11_current_taxes_on_income_and_wealth", + "eurostat.household_accounts", + "household", + "household_current_taxes_on_income_paid_eur", + "household_accounts", + "Eurostat household current taxes on income and wealth paid (D5), 2024, rolled to 2026", + "No producer: needs the PIT binding (W3) aggregated to households.", + ), + ( + wages, + "fpb_gross_wages_and_salaries", + "fpb_t11_gross_wages_and_salaries", + "fpb.household_account", + "person", + "employment_income", + "household_accounts", + "FPB gross wages and salaries (salaires bruts), 2025, rolled to 2026", + "The card's wage-headline comparator (BE-MC5): gross wages, not compensation including employer contributions. The euro wage column has no producer until B4's currency bridge.", + ), + ) + for ( + fact, + name, + pair_id, + category, + entity, + measure, + family, + label, + reason, + ) in declarations: + row = _reference( + fact, + name=name, + contract=name, + category=category, + entity=entity, + measure=measure, + family=family, + reference_set="holdout", + status="requires_holdout_measure", + method_card="BE-MC5", + measure_kind=_measure_kind(measure), + reason="Held out of calibration; compared, never fitted. " + reason, + ) + _roll(row, pair_id, *pairs[pair_id], base_fact=fact) + row["metadata"]["holdout_use"] = "validation_comparator" + rows.append(row) + labels[name] = label + return rows, labels + + +def _interval_document(classes, members): + bands = [] + bands.append( + { + "id": "nil", + "kind": "nil", + "indicator": "statbel_a1_standin_nil_indicator", + "source_label": "zero total net taxable income (outside A.1)", + } + ) + edges = {code: (lower, upper) for lower, upper, code in classes} + for band, lower, upper in STANDIN_BANDS: + if edges[members[band][0]][0] != lower or ( + edges[members[band][-1]][1] != upper + ): + raise ValueError(f"Band {band} edges differ from its member classes") + bands.append( + { + "id": band, + "kind": "positive", + "upper_cent": None if upper is None else upper * 100, + "indicator": f"statbel_a1_standin_band_{band}_indicator", + "source_label": f"A.1 classes {members[band][0]} to {members[band][-1]}", + } + ) + return { + "schema_version": 1, + "country": "be", + "description": "Generated by tools/generate_be_target_references.py from the class bounds Chronicle publishes on Statbel A.1 (universe constraints), checked to tile A.1's positive range without gaps.", + "disclosure": ( + "Statbel's labels ('Minder dan 1', '1-2', '100 en meer') do not state a " + "closure; Chronicle's A.1 universe constraints do: 0 < t < 1,000, then " + "lower <= t < upper, and t >= 100,000 for the open top class. The " + "table follows them: left-closed positive bands, a nil band for " + "t == 0 (Statbel counts zero-income declarations outside A.1, and " + "no reference fits the nil band, because the proxy's zeros are not " + "Statbel's zeros), negative proxy income floored to zero, integer " + "cents. Cuts are income-year-2023 euros and are not aged: no shared " + "operation scales them by a declared annual ratio pair, so the A.1 " + "references stay parked (BE-MC5, d1952; proposed pending d1902)." + ), + "tables": [ + { + "id": STANDIN_TABLE, + "entity": "tax_unit", + "currency": "EUR", + "input_unit": "integer_cent", + "income_column": STANDIN_INCOME_COLUMN, + "universe_column": STANDIN_UNIVERSE_COLUMN, + "source_period": 2023, + "target_period": POLICY_YEAR, + "positive_band_closure": "left", + "nil_band": "present", + "negative_income_policy": "floor_zero", + "first_lower_cut_cents": 0, + "source_locator": "Chronicle statbel.fiscal_income_distribution.a1.by_income_class_eur1000.v1, Belgium, taxable income classes", + "description": "The eight d1952 stand-in bands of total net taxable income, income year 2023, each an exact sum of A.1 EUR 1,000 classes.", + "diagnostics": { + "boundary_window_cents": 100, + "alternative_positive_band_closure": "right", + }, + "bands": bands, + } + ], + } + + +def _reference_profiles(): + return { + "schema_version": 1, + "factor_context_resource": "reference_aging.json", + "interval_resource": "reference_intervals.json", + "dimensions": { + "aging_index": { + "default": "central", + "profiles": { + "central": { + "deferred": True, + "notes": ( + "Declared but not executable: ageing the A.1 stand-in " + "band cuts to 2026 needs a shared operation that scales " + "interval cuts by a declared annual ratio pair, and " + "reference_aging.json holds no profile_input factor for " + "it. The profile is deferred, so the resolver applies " + "no transformation and the A.1 rows keep both " + "prerequisites." + ), + } + }, + } + }, + } + + +def _factor_validation(fact): + return { + "unit": fact["observed_measure"]["unit"], + "source_sha256": fact["source"]["source_sha256"], + "source_vintage": fact["source"]["vintage"], + "entity_role": fact["entity"]["role"], + "provenance_class": fact["provenance_class"], + "assertion": fact["assertion"], + "period_coverage": { + key: fact["period_coverage"][key] for key in ("start_date", "end_date") + }, + "source_column_id": fact["layout"]["source_column_id"], + } + + +def _rsz(inventory, year): + fact = inventory.one( + f"rsz.annual_wages.year{year}.ordinary_remuneration", + geography="BE", + dimensions={"rsz.annual_worker_type_sex": "total"}, + ) + if ( + _token(fact["value"]) != RSZ_OPERANDS[year] + or fact["source"]["source_sha256"] != RSZ_SOURCE_SHA256 + or fact["assertion"] != "observation" + ): + raise ValueError(f"Reviewed RSZ operand changed for {year}") + return fact + + +def build_aging_declarations(inventory, feed_identity): + """Declare the G8-r2 factors whose operands carry dated coverage.""" + + declarations = [] + target = _rsz(inventory, 2025) + for factor_id, (source_year, expected) in RSZ_FACTORS.items(): + source = _rsz(inventory, source_year) + + def slot(fact, *, is_target=False): + row = { + "selector": {**_selector(fact), "assertion": "observation"}, + "validation": _factor_validation(fact), + "weight": "1", + "sequence": 0, + } + if is_target: + row["projection_offset"] = 0 + return row + + declarations.append( + { + "schema_version": 1, + "id": factor_id, + "operation": "projected_period_average_ratio", + "operation_version": 1, + "purpose": "diagnostic", + "feed_identity": copy.deepcopy(feed_identity), + "source_period": source_year, + "target_period": 2025, + "source_schedule": [slot(source)], + "target_schedule": [slot(target, is_target=True)], + "growth": None, + "subperiods_per_year": 1, + "projection_policy": "observed_preferred_latest_contiguous", + "rounding": {"digits": 6, "mode": "nearest_half_even"}, + "expected_operational_factor": { + "numerator": expected, + "denominator": 1000000, + }, + "validity": dict(FACTOR_VALIDITY), + "evidence": [ + "RSZ/ONSS annual wages key figures (Kerncijfers), ordinary " + "remuneration, all employees, calendar years; pre-publication " + "raw data, 2024-2025 not final", + "Diagnostic cross-check of the observed segment of FPB " + "wage-driven ratio pairs; never a profile or money " + "normalization input", + ], + "decision_references": [ + "BE-MC0 (proposed pending d1902): targets rolled to 2026 by FPB June 2026 ratio pairs", + "G8-r2 factor resolver: projected_period_average_ratio@1", + ], + } + ) + return declarations + + +def build_reference_aging(inventory, feed_identity): + from microcosm.build.reference_factors import resolve_reference_factor + + factors = [] + for declaration in build_aging_declarations(inventory, feed_identity): + factor, receipt = resolve_reference_factor( + declaration, + [fact for rows in inventory.by_spec.values() for fact in rows], + feed_identity, + ) + factors.append( + { + "declaration": declaration, + "operational_factor": factor, + "receipt": receipt, + } + ) + return {"schema_version": 1, "feed_identity": feed_identity, "factors": factors} + + +def _value(fact): + return Fraction(_token(fact["value"])) + + +def _share(part, whole): + return float(part / whole) + + +def _standin_gaps(inventory, members): + def component(name, measure, codes): + return sum( + ( + _value( + inventory.one( + A1.format(component=name), + measure=measure, + geography="BE", + dimensions={A1_CLASS: code}, + ) + ) + for code in codes + ), + Fraction(), + ) + + def row(codes, label): + total = component("taxable_income", "taxable_income_eur", codes) + declarations = component("taxable_income", "declarations", codes) + shares = { + name: _share(component(name, measure, codes), total) + for name, measure, _ in A1_COMPONENTS + } + identity = component("professional_income", "professional_income_eur", codes) + for name, measure, role in A1_COMPONENTS[1:]: + value = component(name, measure, codes) + identity += -value if role == "gap_subtracted" else value + return { + "band": label, + "declarations_iy2023": float(declarations), + "taxable_income_eur_iy2023": float(total), + "component_shares_of_taxable_income": shares, + "omitted_share_gross": sum( + shares[name] for name, _, role in A1_COMPONENTS if role != "in" + ), + "omitted_share_net": 1 - shares["professional_income"], + "identity_residual_eur": float(identity - total), + } + + national = row(["all"], "all") + bands = [row(members[band], band) for band, _, _ in STANDIN_BANDS] + professional = _value( + inventory.one( + A1.format(component="professional_income"), + measure="declarations", + geography="BE", + dimensions={A1_CLASS: "all"}, + ) + ) + zero = _value( + inventory.one( + "statbel.fiscal_income_distribution.income_year2023.zero_income_declarations", + geography="BE", + ) + ) + return { + "measure": STANDIN_MEASUREMENT, + "unit": "tax declaration (S2-d tax_unit); joint declarations count once", + "in_measure": "net professional income, rule-computed from transported gross amounts", + "published_gaps": "Components of Statbel's total net taxable income left out of the stand-in, as shares of it (method card BE-MC5; d1952). Within bands they can be larger than nationally.", + "national": national, + "bands": bands, + "declarations_with_taxable_but_no_professional_income": float( + Fraction(national["declarations_iy2023"]) - professional + ), + "zero_income_declarations_outside_a1": float(zero), + "zero_handling": "The proxy's zeros (no professional income, or losses floored to zero) are not Statbel's zero-income declarations; the nil band is not fitted.", + "stress_test": "Declared, not executable in B3: rerun with unemployment and sickness benefits left out of the measure (d1952); a measurement variant owed by B4/W3.", + "pension_gap": "Legal pensions are part of net professional income but are not modelled until d1902 settles BE-MC3's pension route, so the proxy cannot yet represent pensioner declarations.", + } + + +def _b1_checks(inventory): + """Run the three BE-MC5 checks the artifact allows; B.1 activates only if all pass.""" + + def b1(spec, measure, group): + return _value( + inventory.one( + spec=spec, + measure=measure, + geography="BE", + dimensions={"tax_return.rank_group": group}, + ) + ) + + total_tax = b1(B1_VALUES, "total_tax_eur", "all") + spf = _value( + inventory.one( + spec="spf_finances.pit.tax_before_withholding.country.v1", geography="BE" + ) + ) + deciles = [f"decile_{decile:02d}" for decile in range(1, 11)] + decile_tax = sum((b1(B1_VALUES, "total_tax_eur", g) for g in deciles), Fraction()) + percentile_tax = sum( + ( + b1(B1_PERCENTILES, "total_tax_eur", f"percentile_{p:03d}") + for p in range(91, 101) + ), + Fraction(), + ) + negative = [g for g in deciles if b1(B1_VALUES, "total_tax_eur", g) < 0] + bounds = [b1(B1_BOUNDS, "upper_bound_eur", f"decile_{d:02d}") for d in range(1, 10)] + top_bounds = [ + b1(B1_PERCENTILE_BOUNDS, "upper_bound_eur", f"percentile_{p:03d}") + for p in range(91, 100) + ] + b1_income = b1(B1_VALUES, "taxable_income_eur", "all") + a1_income = _value( + inventory.one( + A1.format(component="taxable_income"), + measure="taxable_income_eur", + geography="BE", + dimensions={A1_CLASS: "all"}, + ) + ) + shares = sum( + (b1(B1_VALUES, "taxable_income_share", g) for g in deciles), Fraction() + ) + decile_10 = b1(B1_VALUES, "total_tax_eur", "decile_10") + note = inventory.one( + spec=B1_VALUES, + measure="total_tax_eur", + geography="BE", + dimensions={"tax_return.rank_group": "all"}, + )["concept_alignment"]["evidence_notes"] + cent = Fraction(1, 10) + asserted = { + "b1_total_matches_spf_total": abs(total_tax - spf) <= cent, + "b1_deciles_sum_to_total": abs(decile_tax - total_tax) <= cent, + "top_percentiles_sum_to_decile_10": abs(percentile_tax - decile_10) <= cent, + "decile_bounds_strictly_increase": all( + a < b for a, b in zip(bounds, bounds[1:], strict=False) + ), + "percentile_bounds_strictly_increase": all( + a < b for a, b in zip(top_bounds, top_bounds[1:], strict=False) + ), + "decile_9_bound_below_percentile_91_bound": bounds[-1] < top_bounds[0], + "b1_and_a1_taxable_income_totals_match": abs(b1_income - a1_income) <= cent, + "chronicle_states_zero_income_exclusion": ( + "excludes declarations with zero total net taxable income" in note + ), + } + if not all(asserted.values()): + raise ValueError(f"Reviewed B.1 evidence changed: {asserted}") + checks = { + "tax_definition": { + "evidence": { + "b1_total_enrolled_tax_eur": float(total_tax), + "spf_finances_total_taxes_eur": float(spf), + "difference_eur": float(total_tax - spf), + "b1_deciles_sum_minus_total_eur": float(decile_tax - total_tax), + "top_percentiles_sum_minus_decile_10_eur": float( + percentile_tax - decile_10 + ), + "negative_deciles": negative, + }, + "passed": [ + "B.1's total enrolled tax equals the total taxes in Chronicle's spf-finances-pit-2023 package to EUR 0.06. That fact carries Statbel's concept and evidence URL, so the match reads one administrative total twice and corroborates nothing independently.", + "B.1's deciles sum to its total, and percentiles 91-100 sum to decile 10, within EUR 0.10.", + ], + "missing": [ + "rulespec-be's candidate output belgium_pit_federal_and_local_tax_before_withholding (final_tax.yaml at 530849e) adds article 134 federal tax and the articles 465-466 local additions but not regional_surcharge.yaml's regional additional tax. No document in the suite says whether Statbel's total taxes include the regional additional tax.", + "B.1 counts declarations (joint = one); every rulespec-be PIT output is per Person, and the couple pipeline needs relation bindings (S2-d) that are not built.", + "That output is also the D51A_C1 holdout's measure: a B.1 producer must be a separately bound declaration-level measure, because S5 refuses a pre-calibration stage whose module produces a holdout measure.", + ], + }, + "income_ranking": { + "evidence": { + "decile_upper_bounds_strictly_increase": asserted[ + "decile_bounds_strictly_increase" + ], + "percentile_upper_bounds_strictly_increase": asserted[ + "percentile_bounds_strictly_increase" + ], + "decile_9_bound_below_percentile_91_bound": asserted[ + "decile_9_bound_below_percentile_91_bound" + ], + "b1_minus_a1_total_taxable_income_eur": float(b1_income - a1_income), + "decile_taxable_income_shares_sum": float(shares), + "chronicle_concept_note": note, + }, + "passed": [ + "Chronicle's B.1 facts state that B.1 excludes zero-income declarations, as A.1 does; B.1's and A.1's taxable-income totals agree to EUR 0.02, and the published bounds increase.", + ], + "missing": [ + "The stand-in ranks declarations by net professional income only; 42,007 declarations with taxable but no professional income, and every pensioner while pensions are unmodelled (d1902), would rank differently from Statbel's total net taxable income.", + "B.1 publishes no declaration counts by decile; classifying model declarations needs either model-side ranking or the published bounds, and the bounds are income-year-2023 euros that need the same unavailable cut ageing as A.1.", + ], + }, + "policy_year": { + "evidence": { + "b1_legal_vintage": "income_year_2023_assessment_year_2024", + "model_policy_year": POLICY_YEAR, + "rulespec_be_final_tax_effective_from": "2025-01-01", + "negative_deciles": negative, + }, + "passed": [], + "missing": [ + "B.1 is assessed under income-year-2023 law; the model applies 2026 law (BE-MC0). rulespec-be defines its PIT outputs from 2025-01-01 (its article 134 module states income year 2025 parameters), so B.1's own year cannot be reproduced, and no document bridges 2023 to 2026 tax law: ageing a 2023 tax mass by an FPB ratio would mix growth with law changes.", + "Deciles 1 and 2 are negative (refundable credits) and rolled_forward_by_ratio refuses a negative base, so the declared ageing route cannot carry them to 2026.", + ], + }, + } + for check in checks.values(): + check["result"] = "fail" if check["missing"] else "pass" + passing = all(check["result"] == "pass" for check in checks.values()) + return { + "verdict": "B.1 may activate." + if passing + else "B.1 stays inactive: no check passes completely from the documents.", + "asserted_evidence": asserted, + **checks, + } + + +def _digest(payload): + encoded = json.dumps( + payload, ensure_ascii=False, separators=(",", ":"), sort_keys=True + ) + return hashlib.sha256(encoded.encode()).hexdigest() + + +def selector_digest(row): + """Digest everything a reference row selects, however it is spelled.""" + + return _digest( + {key: row[key] for key in ("ledger_selector", "value_operands") if key in row} + ) + + +def factor_digest(declaration): + """Digest the selectors of one factor declaration's two schedules.""" + + return _digest( + [ + slot["selector"] + for schedule in ("source_schedule", "target_schedule") + for slot in declaration[schedule] + ] + ) + + +def _matching(inventory, selector): + pool = inventory.by_record_set.get(selector["record_set_id"], []) + return [fact for fact in pool if fact_matches_selector(fact, selector)] + + +def _partition_total(inventory, row): + """Return the published total a row's bands or rank groups add up to.""" + + if row["metadata"].get("interval_table_id") == STANDIN_TABLE: + return inventory.one( + A1.format(component="taxable_income"), + measure=row["ledger_selector"]["source_measure_id"], + geography="BE", + dimensions={A1_CLASS: "all"}, + ) + if row["metadata"]["contract_target_id"] == "statbel_b1_enrolled_tax_by_rank_group": + return inventory.one( + spec=B1_VALUES, + measure="total_tax_eur", + geography="BE", + dimensions={"tax_return.rank_group": "all"}, + ) + return None + + +def _keyed(facts, field): + """List distinct keys under the field name package scans admit as fact keys.""" + + return [{field: key} for key in sorted({fact[field] for fact in facts})] + + +def _resolved_row(inventory, row, reference_set): + base = _matching(inventory, row["ledger_selector"]) + operands = [ + fact + for operand in row.get("value_operands", []) + if operand.get("role") != "base" + for fact in _matching( + inventory, {key: value for key, value in operand.items() if key != "role"} + ) + ] + entry = { + "name": row["name"], + "reference_set": reference_set, + "selector_sha256": selector_digest(row), + "base_facts": _keyed(base, "aggregate_fact_key"), + "operand_facts": _keyed(operands, "aggregate_fact_key"), + "semantic_facts": _keyed([*base, *operands], "semantic_fact_key"), + } + total = _partition_total(inventory, row) + if total is not None: + entry["partition_total"] = {"semantic_fact_key": total["semantic_fact_key"]} + return entry + + +def _resolved_factor(inventory, declaration): + facts = [ + fact + for schedule in ("source_schedule", "target_schedule") + for slot in declaration[schedule] + for fact in _matching(inventory, slot["selector"]) + ] + return { + "name": f"factor:{declaration['id']}", + "reference_set": "factor_context", + "selector_sha256": factor_digest(declaration), + "base_facts": [], + "operand_facts": _keyed(facts, "aggregate_fact_key"), + "semantic_facts": _keyed(facts, "semantic_fact_key"), + } + + +def resolved_reads(inventory, documents): + """Bind each row and factor to the facts its selectors resolve to in the feed. + + CI holds no artifact, so it checks each digest against the committed row, each + pinned key against its entry and the listed keys for disjointness. The feed + audit proves every listed key, roster selectors included. + """ + + rows = [ + _resolved_row(inventory, row, document["reference_set"]) + for filename in ( + "target_references.json", + "precal_references.json", + "holdout_references.json", + ) + for document in (documents[filename],) + for row in document["target_references"] + ] + factors = [ + _resolved_factor(inventory, entry["declaration"]) + for entry in documents["reference_aging.json"]["factors"] + ] + return [*rows, *factors] + + +def _unemployment_series_choice(inventory): + lines = { + key: _fpb(inventory, f"social_benefits_detail.{row}", 2025) + for key, (row, _) in T24_UNEMPLOYMENT_2025.items() + } + for key, (_, token) in T24_UNEMPLOYMENT_2025.items(): + if _token(lines[key]["value"]) != token: + raise ValueError(f"Reviewed FPB T24 level {key} changed") + return { + "lines_2025": { + key: { + "row": fact["layout"]["source_row_id"], + "label": fact["layout"]["groupby_value_label"], + "eur": float(_value(fact)), + } + for key, fact in lines.items() + }, + "choice": ( + "The target takes line a. Line 4 also holds benefits with a company " + "supplement and career breaks and time credit, about 14% of the level. " + "This row choice is proposed with d1902." + ), + "open_question": ( + "No document in the suite says whether line a. includes temporary " + "unemployment, which the ordinary-benefit output does not compute." + ), + } + + +def _ageing_receipts(pairs, documents): + used = {} + for filename in ( + "target_references.json", + "precal_references.json", + "holdout_references.json", + ): + for row in documents[filename]["target_references"]: + pair = row["metadata"].get("ageing_pair") + if pair: + used.setdefault(pair, []).append(row["name"]) + receipts = [] + for pair_id, (numerator, denominator) in sorted(pairs.items()): + num, den = _value(numerator), _value(denominator) + receipt = { + "id": pair_id, + "use": AGEING_PAIRS[pair_id]["use"], + "fpb_row": AGEING_PAIRS[pair_id]["row"], + "record_set_spec_id": numerator["layout"]["record_set_spec_id"], + "source_row_id": numerator["layout"]["source_row_id"], + "row_label": numerator["layout"]["groupby_value_label"], + "numerator_selector": _selector(numerator), + "denominator_selector": _selector(denominator), + "numerator": float(num), + "denominator": float(den), + "ratio": float(num / den), + "base_period": denominator["period"]["value"], + "target_period": POLICY_YEAR, + "numerator_assertion": numerator["assertion"], + "denominator_assertion": denominator["assertion"], + "reason": AGEING_PAIRS[pair_id]["reason"], + "status": "proposed (BE-MC0, pending d1902); series choice is a B3 finding", + "used_by": sorted(used.get(pair_id, [])), + } + if pair_id in FPB_OBSERVED_2025: + observed = Fraction(FPB_OBSERVED_2025[pair_id]) + receipt.update( + observed_segment_to_2025=float(observed / den), + projected_step_2025_to_2026=float(num / observed), + ) + receipts.append(receipt) + return receipts + + +def build_reference_documents(artifact, *, package_dir=SPEC): + """Return generated file-name/document pairs; verify the full feed identity first.""" + + package_dir = Path(package_dir) + feed_pin = json.loads((package_dir / "chronicle_feed.json").read_text()) + validate_chronicle_feed_pin(artifact, feed_pin) + feed_identity = chronicle_feed_identity(feed_pin) + inventory = Inventory(artifact.facts) + pairs = {} + for pair_id, pair in AGEING_PAIRS.items(): + base = min(pair["operands"]) + pairs[pair_id] = _pair(inventory, pair_id, base) + for pair_id, token in FPB_OBSERVED_2025.items(): + if ( + _token(_fpb(inventory, AGEING_PAIRS[pair_id]["row"], 2025)["value"]) + != token + ): + raise ValueError(f"Reviewed FPB 2025 level {pair_id} changed") + classes = _a1_classes(inventory) + members = _band_members(classes) + communes = { + fact["geography"]["id"]: fact for fact in inventory.cells(COMMUNE_POPULATION) + } + if len(communes) != 565 or any( + fact["geography"]["vintage"] != "nis_2025" for fact in communes.values() + ): + raise ValueError("Expected the 565 NIS 2025 communes") + targets, target_labels = calibration_references(inventory, pairs, members) + precal, precal_labels = precal_references(communes) + holdouts, holdout_labels = holdout_references(inventory, pairs) + documents = {} + description = { + "calibration": "Belgian calibration references (reference set calibration), generated by tools/generate_be_target_references.py from the pinned Chronicle be feed. Selectors only: no observation is carried. Demography targets Statbel's 1 January 2026 population directly; every other row rolls a 2023-2025 fact to 2026 by a declared FPB June 2026 ratio pair or stays parked with a named reason. Method-card choices are proposed pending d1902. Belgium stays inactive.", + "precal": "Belgian pre-calibration references: Statbel commune population on 1 January 2025 as the atomic geography support mass, unaged (support shares). Identity only; no observation is carried.", + "holdout": "Belgian held-out references: compared with the model, never fitted. No calibration-side node may read this resource. Every row is parked until its measure has a producer; JRC's EUROMOD-BE statistics are deferred while d1822 is open.", + } + for reference_set, rows, labels, filename, operations in ( + ( + "calibration", + targets, + target_labels, + "target_references.json", + ["identity", "rolled_forward_by_ratio"], + ), + ("precal", precal, precal_labels, "precal_references.json", ["identity"]), + ( + "holdout", + holdouts, + holdout_labels, + "holdout_references.json", + ["rolled_forward_by_ratio"], + ), + ): + documents[filename] = { + "country": "be", + "schema_version": 2, + "reference_set": reference_set, + "description": description[reference_set], + "allowed_value_operations": operations, + "hierarchy": _hierarchy(rows, labels), + "target_references": rows, + "target_profile": {"schema_version": 1, "hierarchy_reconciliations": []}, + } + documents["reference_intervals.json"] = _interval_document(classes, members) + documents["reference_profiles.json"] = _reference_profiles() + documents["reference_aging.json"] = build_reference_aging(inventory, feed_identity) + documents["reference_inventory.json"] = _inventory( + inventory, pairs, documents, feed_pin, members, communes + ) + return documents + + +def _inventory(inventory, pairs, documents, feed_pin, members, communes): + counts = {} + for filename in ( + "target_references.json", + "precal_references.json", + "holdout_references.json", + ): + rows = documents[filename]["target_references"] + counts[filename] = { + "total": len(rows), + "by_family": dict(Counter(row["family"] for row in rows)), + "by_contract": dict( + Counter(row["metadata"]["contract_target_id"] for row in rows) + ), + "by_activation_status": dict( + Counter(row["metadata"]["activation_status"] for row in rows) + ), + } + nuts = { + year: sum( + ( + _value(fact) + for fact in inventory.cells(STATBEL_POPULATION.format(year=year)) + ), + Fraction(), + ) + for year in (2025, POLICY_YEAR) + } + commune_total = sum((_value(fact) for fact in communes.values()), Fraction()) + b4 = { + kind: sum( + ( + _value( + inventory.one( + spec=B4, + measure="declarations", + geography="BE", + dimensions={ + "tax_return.age_band": "all", + "tax_return.decile": decile, + "tax_return.declaration_type": kind, + }, + ) + ) + for decile in range(1, 11) + ), + Fraction(), + ) + for kind in ("joint", "individual") + } + a1_total = _value( + inventory.one( + A1.format(component="taxable_income"), + measure="declarations", + geography="BE", + dimensions={A1_CLASS: "all"}, + ) + ) + aging = documents["reference_aging.json"] + rsz = { + entry["declaration"]["id"]: entry["operational_factor"]["numerator"] + / entry["operational_factor"]["denominator"] + for entry in aging["factors"] + } + wage_pair = { + year: Fraction(token) + for year, token in ( + (2023, "226018000000"), + (2024, "233079000000"), + (2025, "240536000000"), + ) + } + for year, token in wage_pair.items(): + if ( + _value(_fpb(inventory, "household_account.gross_wages_and_salaries", year)) + != token + ): + raise ValueError("Reviewed FPB gross wages changed") + excluded = [ + ("jrc_euromod_be_statistics", DEFERRED_JRC), + ( + "ris_amount_and_recipients", + "August's RIS amount and count came from JRC; the suite holds no RIS administrative source, so the gap is named, not filled.", + ), + ( + "legal_pensions", + "FPB pension amounts and SFPD beneficiary counts and bands: legal pensions are not modelled until d1902 settles BE-MC3's pension route; the SFPD bands are B4's quantile-map surface.", + ), + ( + "family_allowances", + "FPB family allowances and Opgroeien/Ostbelgien caseloads: child benefits are reported as not modelled at level until indexed amounts are encoded (BE-MC0).", + ), + ( + "rsz_wage_classes", + "RSZ daily-wage classes (B2f) are B4's wage quantile-map input under d1902, not a reference.", + ), + ( + "usd_eur_rate", + "Eurostat ert_bil_eur_a is B4's currency-bridge input (BE-MC3), not a reference.", + ), + ( + "regional_a1_and_b1", + "National bands only: the short list d1952 asks for; v0.5.1's 606 regional A.1 rows failed to fit.", + ), + ( + "a1_component_tables", + "Professional, property, movable, miscellaneous and deduction tables are gap diagnostics in this inventory, not fitted rows.", + ), + ( + "a1_and_b1_totals", + "Published totals duplicate the band and decile partitions; B.1's taxable-income masses duplicate A.1.", + ), + ( + "zero_income_declarations", + "Statbel's 523,770 zero-income declarations are a diagnostic; the proxy's zeros differ, so the nil band is not fitted.", + ), + ( + "b3_b5_tables", + "B.3 professional-category and B.5 dependant tables are outside the card's targets; v0.5.1's wage-only B.3 proxy destroyed weights.", + ), + ( + "b4_age_and_decile_cells", + "Only the all-age joint and individual totals are targets (BE-MC4); age and decile cells would multiply weak cells.", + ), + ( + "statbel_commune_fiscal_income", + "Commune fiscal income is a diagnostic surface for a later commune spine gate, not a B3 reference.", + ), + ( + "spf_finances_pit_total", + "SPF Finances' total taxes equal B.1's total: one administrative total, read twice. The tax-definition check records it, and no row targets it.", + ), + ( + "spf_municipal_surcharge_rates", + "Communal surcharge rates are W3 rule inputs, not references.", + ), + ( + "statbel_population_2025_nuts1", + "Statbel's 1 January 2026 cells are the target-year observation; the 2025 cells would duplicate them.", + ), + ( + "movable_income", + "Movable income stays out of the stand-in (art. 313 CIR 92 withholding dispensation) and out of the targets until the investment-income match check (d1952 build item 5).", + ), + ( + "eurostat_d11_wages", + "Eurostat D11 duplicates FPB's gross wages, the card's wage-headline comparator.", + ), + ( + "eurostat_b3g_mixed_income", + "Mixed income is a calibration aggregate (FPB net mixed income), so it cannot also be held out.", + ), + ( + "eurostat_survey_and_social_protection", + "Eurostat ilc_* survey aggregates and spr_exp_func expenditure are excluded: surveys are validation-only and outside the card's holdouts, and ESSPROS overlaps FPB's T24 rows.", + ), + ( + "fpb_projections_as_direct_targets", + "No reference takes an FPB projection as its base: every base is an observation. Seven rolled rows still equal FPB's 2026 projection, because each base equals its pair's denominator: unemployment benefits, GRAPA and net mixed income in calibration, and gross wages and the Eurostat D61, D62 and D5 rows in the holdouts. Those rows say so in ageing_target_equals.", + ), + ( + "german_and_french_rows", + "Four Eurostat members carry DE and FR rows (72 of 87,112); the generator refuses any non-Belgian fact before it can name one.", + ), + ] + return { + "schema_version": 1, + "country": "be", + "generated_by": "tools/generate_be_target_references.py", + "feed_identity": feed_pin, + "policy_year": POLICY_YEAR, + "method_card_status": "BE-MC0, BE-MC3 to BE-MC6 proposed pending d1902; nothing publishes a number", + "reference_counts": counts, + "regions": list(REGIONS), + "age_bands": list(AGE_BANDS), + "standin_bands": [ + { + "id": band, + "lower_eur_iy2023": lower, + "upper_eur_iy2023": upper, + "a1_classes": members[band], + } + for band, lower, upper in STANDIN_BANDS + ], + "standin_band_reason": ( + "Fixed before any candidate (d1952): EUR 10,000 steps over the dense " + "middle, wider steps above EUR 50,000, A.1's open top class whole; " + "every edge is an A.1 class edge; eight bands, sixteen constraints." + ), + "standin_gaps": _standin_gaps(inventory, members), + "ageing_pairs": _ageing_receipts(pairs, documents), + "rsz_wage_cross_checks": [ + { + "factor_id": factor_id, + "rsz_observed_factor": factor, + "fpb_gross_wages_observed_ratio": float( + wage_pair[2025] / wage_pair[RSZ_FACTORS[factor_id][0]] + ), + "use": "diagnostic only", + } + for factor_id, factor in rsz.items() + ], + "b4_identity": { + "joint": float(b4["joint"]), + "individual": float(b4["individual"]), + "a1_declarations": float(a1_total), + "closes_exactly": b4["joint"] + b4["individual"] == a1_total, + "use": "A.1 band counts and B.4 type counts share fpb_t07_total_population, so the identity survives ageing.", + }, + "destination_mass": { + "commune_sum_2025": float(commune_total), + "nuts1_sum_2025": float(nuts[2025]), + "nuts1_sum_2026": float(nuts[POLICY_YEAR]), + "commune_minus_nuts1_2025": float(commune_total - nuts[2025]), + "create_mass_reference": "Not in B3. CREATE needs exactly one unfiltered national person count. The suite has no national Statbel population fact, and a national row composed from the 565 communes refuses: the shared composed-geography path labels only UK areas. W3 chooses between a shared Belgian geography label (NZ hub) and FPB's annual-average population.", + }, + "b1_checks": _b1_checks(inventory), + "unemployment_series_choice": _unemployment_series_choice(inventory), + "geography_vintage_bindings": [ + { + "layer": "nuts1", + "chronicle_vintage": GEOGRAPHY_VINTAGES["nuts1"][0], + "typed_authority": GEOGRAPHY_VINTAGES["nuts1"][1], + "relation": "crosswalk", + "basis": "Chronicle labels Statbel's regions NUTS_2024. The typed nuts1 layer records no code list, so the mapping rests on destination_mass: the three regions' 2025 population equals the 565 communes' sum. A package test holds every nuts1 row to this binding. This choice is proposed with d1902.", + }, + { + "layer": "commune", + "chronicle_vintage": GEOGRAPHY_VINTAGES["commune"][0], + "typed_authority": GEOGRAPHY_VINTAGES["commune"][1], + "relation": "exact_alias", + "basis": "nis_2025 is an exact typed alias of vintage:be_nis_2025.", + }, + ], + "holdout_information_overlaps": [ + "The tests check separation at the fact and measure level; holdouts still share information with calibration through economics, not facts:", + "FPB gross wages (wage-headline holdout): ONSS's calibrated worker contributions scale with wages.", + "Eurostat D62 social benefits received contain the calibrated unemployment and GRAPA aggregates.", + "Eurostat D61 social contributions paid contain the calibrated ONSS worker contributions.", + "Eurostat D51A_C1 and D5 measure the same personal income tax that B.1 would calibrate once active.", + "The A.1 stand-in is 98% net professional income, and its amount pair, FPB T11 total resources, contains gross wages, the wage holdout's own series.", + ], + "grammar_gaps": [ + "A national row composed from commune facts refuses for Belgium: the composed-geography path labels only UK areas (ledger_targets._geography_fallback_label), so CREATE's single national mass reference cannot be the commune sum.", + "A schema-2 target_profile requires period_match_policy 'exact', which refuses rolled_forward_by_ratio; the documents keep B1's schema-2 hierarchy catalogs with a schema-1 target_profile (NZ's documents use the same schema-1 profile, with inline hierarchies).", + "No shared operation ages interval cuts by a declared annual ratio pair: scale_money_and_intervals needs a G8-r2 factor and singleton identity money rows, and G8-r2's projected_period_average_ratio cannot project an annual series past its last observation.", + "G8-r2's resolver needs dated period_coverage on every operand; Chronicle's FPB, Statbel NUTS1, NBB, ONSS, ONEM and most Eurostat facts carry none.", + "rolled_forward_by_ratio refuses a negative base, so signed targets (B.1 low deciles) cannot be aged by it.", + "rolled_forward_by_ratio's series key treats every FPB annex row of one table as one series (same concept, entity, geography and empty dimensions); the generator and tests enforce row identity themselves.", + "The typed vintage alias set admits only a layer's full id, its country-shortened id and its authority value, so Chronicle's NUTS_2024 label cannot be an alias of vintage:be_nuts1_2025; geography_vintage_bindings carries the mapping instead.", + "The schema-1 target_profile drops B1's required_families, basis_periods, tolerance tiers and subnational vintage rule. Package tests restore required families, the vintage rule and each row's periods. Caseload tolerance moves from B1's 15% to BE-MC6's 5%, and the ONSS contribution row moves from B1's standard_admin_release 10% to 5%.", + ], + "exclusions": [{"id": name, "reason": reason} for name, reason in excluded], + "resolved_reads": resolved_reads(inventory, documents), + } + + +def pin_feed(artifact, source_commit): + """Return a feed pin for a reviewed artifact; identities are the loader's own.""" + + manifest = artifact.manifest or {} + return { + "version": 1, + "country": "be", + "scope": "be_calibration", + "source_repo": "PolicyEngine/chronicle", + "source_commit": source_commit, + "build": "build-bundle --suite be -> build-consumer-artifact", + "artifact_schema_version": artifact.schema_version, + "consumer_fact_schema_versions": list(artifact.fact_schema_versions), + "consumer_fact_schema_sha256": manifest.get("consumer_fact_schema_sha256"), + "fact_row_count": artifact.fact_row_count, + "facts_sha256": artifact.facts_sha256, + "manifest_sha256": artifact.manifest_sha256, + } + + +def _encode(document): + return json.dumps(document, ensure_ascii=False, indent=2) + "\n" + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--artifact", default=os.environ.get("BE_CHRONICLE_ARTIFACT")) + parser.add_argument("--out", type=Path, default=SPEC) + parser.add_argument("--check", action="store_true") + parser.add_argument("--pin-feed", metavar="SOURCE_COMMIT") + args = parser.parse_args() + if not args.artifact: + parser.error("--artifact or BE_CHRONICLE_ARTIFACT is required") + if args.check and args.pin_feed: + parser.error("--check and --pin-feed are exclusive") + artifact = load_ledger_consumer_artifact(args.artifact, lexical_floats=True) + if args.pin_feed: + (args.out / "chronicle_feed.json").write_text( + _encode(pin_feed(artifact, args.pin_feed)) + ) + documents = build_reference_documents(artifact, package_dir=args.out) + stale = [] + for filename, document in documents.items(): + encoded = _encode(document) + destination = args.out / filename + if args.check: + if not destination.exists() or destination.read_text() != encoded: + stale.append(str(destination)) + else: + destination.write_text(encoded) + if stale: + raise SystemExit(f"Stale generated resource(s): {stale}") + + +if __name__ == "__main__": + main() From 2b27f148d3dc716bff5489290229f3345d447f60 Mon Sep 17 00:00:00 2001 From: David Trimmer Date: Mon, 2 Nov 2026 10:57:53 -0500 Subject: [PATCH 57/67] Stub the ACS take-up stage in main's county materialize tests (#1051) main's county tests drive do_materialize on geography fixtures without SPM-unit origin tags, which the ACS local take-up stage (microcosm#1019) refuses by design. They check county hooks, not take-up, so stub the stage the same way they already stub the hours and self-employment checks. Co-Authored-By: Claude Opus 5.5 (1M context) --- .../engine_free/us/test_us_acs_local_county_surface.py | 7 +++++++ .../us/test_us_acs_local_no_county_regression.py | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_county_surface.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_county_surface.py index e123c4ddea..09b00307e8 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_county_surface.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_county_surface.py @@ -659,6 +659,13 @@ def test_county_hooks_materialize_a_fixture_and_preserve_configured_geography( monkeypatch.setattr( module, "_require_acs_self_employment_identity", lambda *_a: None ) + # microcosm#1019: the ACS take-up stage needs SPM-unit origin tags this + # geography fixture does not carry; this test checks county hooks only. + monkeypatch.setattr( + module, + "_with_local_take_up", + lambda frame, *, seed: (frame, {"seed": seed, "assigned_sha256": "stub"}), + ) monkeypatch.setattr( module.cd_surface, "sample_staging_frame", diff --git a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_no_county_regression.py b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_no_county_regression.py index 121ff72a74..8e62f155cb 100644 --- a/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_no_county_regression.py +++ b/packages/microcosm-build/tests/engine_free/us/test_us_acs_local_no_county_regression.py @@ -286,6 +286,13 @@ def test_no_county_materialization_matches_pre_county_surface( monkeypatch.setattr( module, "_require_acs_self_employment_identity", lambda *_: None ) + # microcosm#1019: the ACS take-up stage needs SPM-unit origin tags this + # geography fixture does not carry; this test checks county hooks only. + monkeypatch.setattr( + module, + "_with_local_take_up", + lambda frame, *, seed: (frame, {"seed": seed, "assigned_sha256": "stub"}), + ) monkeypatch.setattr(module, "log", lambda *_: None) def materialize(_frame, specs, **_kwargs): From c3b9b736bec1f04293ac85fed6a886cd6607432f Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 2 Nov 2026 20:37:39 -0500 Subject: [PATCH 58/67] Pin five G8-w4 fixes and the aggregate map's mixed-code refusal (#1471) * Pin five G8-w4 fixes that no test covered The G8-w4 review (#1448, comment 6586844221) ran mutants that undo five fixes, and every test stayed green. These tests turn each of those mutants red. They change no source file. C1 codec rule: test_a_rulespec_name_with_another_codec_is_uncovered pins that composition treats a source as the RuleSpec tree by its codec, so rulespec_nz with a toy codec comes out uncovered and fails the gate. It goes red when compose.py also skips any source whose name starts with rulespec. E2 with an aggregate: test_an_aggregate_total_is_checked_against_its_own_component pins that the support kernel checks a household total of 150 in component a against a's bands, so its three member rows count as outside. It goes red when the kernel checks aggregate totals against the pooled intervals. Gate empty-sources line: test_a_forged_derived_row_without_sources_fails feeds the support gate a forged derived row with sources [] and asserts its failure line. It goes red when gate_bindings.py drops that line. S1 person slice: test_relation_columns_on_another_entitys_slice_are_a_gap pins that the closure partition reads relation columns from the person slice only; the same columns on the household or family slice give a gap. It goes red when evidence_contract.py reads them from any slice. S1 unmapped root: test_a_relation_on_an_unmapped_root_entity_is_refused pins that engine_root_inputs refuses a relation whose root_entity entity_names does not map. It goes red when the refusal becomes continue. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6KNfb66b2ZhYpeyLD8 * Pin the quantile map's refusal of mixed component codes transport.quantile_map@1 refuses an aggregate whose members carry two component codes (population_kernels.py:555-567), but no test pinned it. Under component bands, that check is the only guard: the kernel hands frame's quantile_map one entity group per component without the codes, so frame's own member check can't see them, and each component's map would rank a split household's partial total as a whole household. The support kernel's E2 fix judges each member's aggregate total by that member's own code, so it relies on the same refusal. test_aggregate_map_refuses_members_with_two_component_codes runs the household aggregate map with component_column "sex" under bare and under component bands. The toy donor's households mix sex codes, and both shapes refuse with the kernel's message. When each member takes its household's first sex flag, both shapes run. Mutant: with the kernel's check disabled, the component-band case raises nothing, and the bare-band case refuses with frame's "Members must repeat one entity component label." instead, so both mixed cases go red. The two controls pass. No source file changes, so no kernel hash moves. Co-Authored-By: Claude Opus 5.5 * Run both component codes in the mixed-code pin's controls The review of #1471 found that _one_sex_per_household made every toy person male, so the "both shapes run" controls declared one code. A mutant that refuses any frame holding two codes at all (pd.Series(component).nunique(dropna=False) > 1) passed every test, and that mutant would refuse every real mixed-sex population. The helper now gives each household one flag, alternating across households, and the test asserts the frame holds two codes. So the controls pin "per household": no household mixes codes, the frame holds both, and both shapes run. Ran test_aggregate_map_refuses_members_with_two_component_codes: 4 passed. Under the over-strict mutant, [False-bare] and [False-component] go red with the kernel's message. Under the disabled check, [True-bare] and [True-component] go red as before. No source file changes, so no kernel hash moves. Co-Authored-By: Claude Opus 5.5 * Catch an under-strict mixed-code check with a one-household case Belgium's hub found a mutant that no test caught: `.all()` for `.any()` at the mixed-code check in `T/population_kernels.py`. Both toy households mix codes, so the two agree on every fixture. A check using `.all()` fires only when every household mixes codes, which a real population almost never does. The third `mixed` value gives the first household one sex flag and leaves the other household mixed. The existing case ids stay the same. The invariant: the kernel refuses when any one household mixes component codes. Under the `.all()` mutant, `[one_household-bare]` and `[one_household-component]` fail and the other four cases pass. With no mutant, the file gives 38 passed, and ruff check and format pass. The patch comes from Belgium's hub, sha256 25b21404d466e1e1. Co-Authored-By: Claude Opus 5.5 --------- Co-authored-by: Claude --- .../shared/test_transport_evidence_kernels.py | 95 +++++++++++++++++++ .../test_transport_population_kernels.py | 76 +++++++++++++++ 2 files changed, 171 insertions(+) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_evidence_kernels.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_evidence_kernels.py index 582200d16a..60a6e26d5c 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_evidence_kernels.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_evidence_kernels.py @@ -1309,6 +1309,22 @@ def test_a_valid_relation_input_is_no_check_problem(self) -> None: assert absent["check"] == [] assert absent["modules"][0]["gap"] == ["Family.toy_member_income"] + def test_relation_columns_on_another_entitys_slice_are_a_gap(self) -> None: + # S1: the partition reads a relation's columns from the person slice + # only; the same columns on the household or family slice do not count. + relation = {**_TOY_RELATION, "role_column": "role", "roles": ["head"]} + for entity in ("household", "family"): + row = self._partition( + {"person": frozenset(), entity: frozenset({"member_income", "role"})}, + relations=[relation], + ) + assert row["relation"] == [] + assert row["gap"] == ["Family.toy_member_income"] + assert row["relation_missing"] == [ + "Family.toy_member_income: person.member_income", + "Family.toy_member_income: person.role", + ] + # --------------------------------------------------------------------------- # Relation inputs on a real AxiomEngine (S1, S3, S4) @@ -1458,6 +1474,19 @@ def test_the_engine_partition_adds_each_declared_relation_input( "Family": ("toy_member_income",) } + def test_a_relation_on_an_unmapped_root_entity_is_refused(self, tmp_path) -> None: + # S1: entity_names maps no engine entity for the manifest's + # root_entity (family), so engine_root_inputs refuses the binding. + engine = _fake_axiom(tmp_path / "m.yaml") + row = {"id": "b", "relations": [_TOY_RELATION]} + names = {"person": "Person", "household": "Household"} + with pytest.raises( + ValueError, + match=r"rules binding 'b' relates 'toy_member_income' on 'family', " + r"which entity_names does not map\.", + ): + evidence_kernels.engine_root_inputs(engine, row, names) + def test_a_present_column_is_one_relation_row(self, tmp_path) -> None: document = self._run(tmp_path, _TOY_RELATION, {"member_income": np.ones(3)}) (row,) = document["modules"] @@ -2872,6 +2901,30 @@ def test_the_rulespec_tree_is_no_external_source(self) -> None: assert row["class"] == "derived" assert [s["column"] for s in row["sources"]] == ["age"] + def test_a_rulespec_name_with_another_codec_is_uncovered(self) -> None: + # C1: the RuleSpec tree is matched on its codec. A source named like + # the tree but carrying another codec is an external source. + spec = _impute_spec(inputs=["age"], sources=("rulespec_nz",)) + spec["resources"]["transport_graph"]["sources"].append( + {"name": "rulespec_nz", "codec": "toy-wage-table-v1"} + ) + roster = compose._support_roster(spec) + (row,) = [r for r in roster["columns"] if r["column"] == "imputed_wage"] + assert row["class"] == "derived" + (external,) = [s for s in row["sources"] if s["column"] == "rulespec_nz"] + assert external["class"] == "uncovered" + assert "toy-wage-table-v1" in external["reason"] + donor, _ = _donor_and_terminal() + terminal = _support_frame({("person", "imputed_wage"): [1e9] * 6}) + ranges, bounds, rn, bn = _run_support(roster, donor, terminal) + outcome = _support_outcome(ranges, bounds, rn, bn, terminal) + assert outcome.status is GateStatus.FAILED + assert any( + "person.imputed_wage (derived): sources without coverage: " + "source.rulespec_nz (uncovered)" in line + for line in outcome.result.failures + ), outcome.result.failures + class TestDeclaredStructuralRows: def test_a_row_no_node_writes_is_refused(self, nz_composed) -> None: @@ -3239,6 +3292,35 @@ def test_derived_pending_and_uncovered_rows_fail_with_their_reasons(self) -> Non ) assert any(line.startswith("family.family_flag (uncovered)") for line in lines) + def test_a_forged_derived_row_without_sources_fails(self) -> None: + # C1: the roster classes a sourceless row uncovered, so only a forged + # artifact carries a derived row with no sources; the gate fails it. + donor, terminal = _donor_and_terminal() + more = [ + { + "entity": "person", + "column": "flag", + "class": "derived", + "sources": [{"entity": "person", "column": "age", "class": "copied"}], + "reason": "Sources are walked per node.", + } + ] + ranges, bounds, rn, bn = _run_support(_toy_roster(more=more), donor, terminal) + structural = [("household", "source_household_id")] + honest = _support_outcome(ranges, bounds, rn, bn, terminal, structural) + assert not any("person.flag" in line for line in honest.result.failures) + + def empty_sources(document) -> None: + (row,) = [r for r in document["columns"] if r["column"] == "flag"] + row["sources"] = [] + + forged = _forged(bounds, empty_sources) + outcome = _support_outcome(ranges, forged, rn, bn, terminal, structural) + assert outcome.status is GateStatus.FAILED + assert ( + "person.flag (derived): the walk reached no source, so nothing covers it." + ) in outcome.result.failures + def test_a_rank_only_row_is_refused_with_the_reserved_message(self) -> None: donor, terminal = _donor_and_terminal() more = [{"entity": "person", "column": "pension_rank", "class": "rank_only"}] @@ -3580,6 +3662,19 @@ def test_a_missing_component_column_is_refused_by_name(self) -> None: with pytest.raises(ValueError, match=r"component column person\.None"): self._run((5.0,) * 6, ["a"] * 6, roster=self._roster(None)) + def test_an_aggregate_total_is_checked_against_its_own_component(self) -> None: + # E2: household totals (members 0-2, 3-4, 5) are checked against the + # household's component. A total of 150 in a lies inside b's bands, + # so each of the household's three member rows counts as outside. + roster = self._roster() + params = roster["columns"][0]["producer_params"] + params["aggregate_entity"] = "household" + codes = ["a", "a", "a", "b", "b", "b"] + row = self._run((50.0, 50.0, 50.0, 60.0, 60.0, 150.0), codes, roster=roster) + assert row["records_outside"] == 3 + inside = self._run((3.0, 3.0, 3.0, 60.0, 60.0, 150.0), codes, roster=roster) + assert inside["records_outside"] == 0 + class TestNormalizedSupport: def test_differential_bounds_equal_money_normalize_outputs(self, tmp_path) -> None: diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_population_kernels.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_population_kernels.py index e2249440bb..56fa0f1544 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_population_kernels.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_population_kernels.py @@ -587,6 +587,82 @@ def test_quantile_map_refuses_absent_facts_and_mismatched_component_coverage( run_population(tmp_path / "run", sources, graph=graph) +def _one_sex_per_household(tables): + """Give each household one sex flag, with both flags across the donor.""" + person = tables["person"] + person["is_female"] = person.groupby("person_household_id").ngroup() % 2 == 0 + + +def _one_mixed_household(tables): + """Give the first household one sex flag and leave the others as drawn.""" + person = tables["person"] + first = person["person_household_id"] == person["person_household_id"].iloc[0] + person.loc[first, "is_female"] = False + + +@pytest.mark.parametrize("shape", ["bare", "component"]) +@pytest.mark.parametrize("mixed", [True, "one_household", False]) +def test_aggregate_map_refuses_members_with_two_component_codes(tmp_path, mixed, shape): + """An aggregate maps as one unit only when its members share one code. + + Under component bands this check is the only guard: each component's map + would see a split household as a partial aggregate. The support kernel + judges each member's aggregate total by that member's own code, so it + relies on this refusal too. + """ + sources = write_population_sources( + tmp_path / "sources", + band_entity="household", + edit_tables={ + True: None, + "one_household": _one_mixed_household, + False: _one_sex_per_household, + }[mixed], + ) + direct, _ = direct_population(sources) + person = direct.table("person") + codes = person.groupby("person_household_id")["sex"].nunique() + assert bool((codes > 1).any()) == bool(mixed) + assert bool((codes > 1).all()) == (mixed is True) + assert person["sex"].nunique() == 2 + graph = population_graph( + sources, qmap_column="liquid_financial_assets", aggregate_entity="household" + ) + quantile = graph.node("nz.quantile") + params = {**quantile.params, "component_column": "sex"} + if shape == "component": + bands = json.loads(quantile.params["bands"])["bands"] + document = { + "components": [ + {"value": code, "bands": bands} + for code in sorted(person["sex"].unique().tolist()) + ] + } + params = { + **params, + "bands": canonical_text(document), + "bands_sha256": digest(document), + } + quantile = replace( + quantile, + inputs=(Slice("person", ("liquid_financial_assets", "sex")),), + params=params, + ) + graph = replace( + graph, + nodes=tuple( + quantile if node.id == quantile.id else node for node in graph.nodes + ), + ) + if mixed: + with pytest.raises( + NodeRejectedError, match="Aggregate members must repeat one component code" + ): + run_population(tmp_path / "run", sources, graph=graph) + else: + run_population(tmp_path / "run", sources, graph=graph) + + def test_create_runtime_rejects_a_missing_declared_column(tmp_path): sources = write_population_sources(tmp_path / "sources") graph = population_graph(sources, through="boundary") From 326681fb004e75334be7a019021446f203272780 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 2 Nov 2026 23:50:24 -0500 Subject: [PATCH 59/67] Pin the run entry's clock in two packaged-spec tests (#1479) Both tests pass NZ's packaged spec to prepare_transport_build and expect activation's "not activated" refusal. prepare_transport_build checks factor currency on today's UTC date before activation, and NZ's selected factors carry valid_until 2026-11-03. From 2026-11-04 the currency check refuses first, with a different message, so both tests fail on main and on every PR. Each test now pins cli._today to 2026-10-24, inside the factors' validity, as test_cli_main_refuses_the_packaged_spec_and_writes_nothing already does. With the clock forced to 2026-11-05 for the whole run, both tests failed before this change and pass after it. They also pass on today's clock. Co-authored-by: Claude Opus 5.5 --- .../shared/test_transport_composed_graph.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 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 addd69d4bf..c054e85bef 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 @@ -2799,7 +2799,9 @@ def test_packaged_spec_refuses_with_every_activation_gap_named(): compose_transport_graph(spec, config) -def test_packaged_spec_refuses_before_reading_any_source(tmp_path): +def test_packaged_spec_refuses_before_reading_any_source(tmp_path, monkeypatch): + # Inside the packaged factors' validity, so activation decides the refusal. + monkeypatch.setattr(cli_module, "_today", lambda: date(2026, 10, 24)) missing = tmp_path / "absent" with pytest.raises(ValueError, match="not activated"): prepare_transport_build( @@ -3527,7 +3529,11 @@ def counted(context): assert calls == ["nz.create", "nz.create"] -def test_prepare_does_not_create_inventory_store_before_activation(tmp_path): +def test_prepare_does_not_create_inventory_store_before_activation( + tmp_path, monkeypatch +): + # Inside the packaged factors' validity, so activation decides the refusal. + monkeypatch.setattr(cli_module, "_today", lambda: date(2026, 10, 24)) inventory = tmp_path / "inventory" with pytest.raises(ValueError, match="not activated"): prepare_transport_build( From a995d2757ca432f261300f5b4d82f7ec34be6e4d Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Mon, 2 Nov 2026 23:51:58 -0500 Subject: [PATCH 60/67] Refuse calibration rows that measure a declared holdout (#1472) * Refuse calibration rows that measure a declared holdout A holdout_references row tests the calibrated model against a fact it never saw. Composition accepted a calibration, pre-calibration or mass row on the same measure, so only Belgium's package test kept a country from calibrating to its holdout. validate_transport_activation now refuses any row of another reference document it knows, mass included, whose measure equals a holdout row's measure on any entity, and names both rows and both documents. The pre-calibration stage check keys on the same measure, on any entity. Specs that declare no holdout_references rows keep row-level holdouts. The new test module checks the toy reproductions, the pre-calibration, mass and stage variants, every packaged spec's reference documents, a Hypothesis property against an independent oracle, and agreement with Belgium's _separation_violations. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6Kavn5bQZwSxfXaM75 * Give the toy holdouts measures no calibration row shares The new holdout separation guard refused two synthetic specs. The NZ toy inherits the composed toy's holdout on (person, receives_main), and its receipt strata add pre-calibration rows on receives_main. The reference selection tests gave every document, holdout included, person_count. The NZ toy's holdout rows now measure toy_main_eligible, a dedicated eligibility column no other reference document measures; no NZ toy node reads holdout_references. The reference selection tests give their holdout documents a holdout_indicator measure. The NZ toy graph and reference selection modules pass (83 tests). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6Kavn5bQZwSxfXaM75 * Skip non-text measures on both sides of the guard (B1) _holdout_separation_gaps tested a non-holdout row's measure for membership in the holdout dict without checking its type, so a list or dict measure raised TypeError out of validate_transport_activation and hid every other activation gap. The non-holdout side now skips a non-text measure with the same _is_text test the holdout side already applies. Invariant: a list or dict measure on a calibration, pre-calibration or holdout row of a spec that declares holdout_references raises no TypeError, and activation's outcome equals its outcome with the guard patched out. test_non_text_measure_keeps_activation_outcome pins it; its calibration and pre-calibration cases go red with TypeError when the line is reverted. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FbNxkHFc5E9GDKFKe * Import Belgium's test module before any @given runs (R1) _be_test_module executed Belgium's test module on first use, and the generated-documents differential first used it inside its own @given. Belgium's module defines @given tests at import, so Hypothesis refused the nesting whenever that test ran first: alone with -k, by node id, or under pytest-xdist's default load distribution. The module now imports Belgium's module once at module level. The health check stays on and Belgium's file is unchanged. Invariant: the differential passes in any order. Checked with -k generated_documents, by node id, and the whole file under -n 4 with the default load distribution. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FbNxkHFc5E9GDKFKe * Test the guard's mass, parked-holdout and view branches (R2) Three branches of the guard had no test, so mutants M5, M6 and M4 survived. - test_unselected_mass_document_joins_the_guard drops node 0's mass params from the composed toy and adds a mass row on the holdout's measure; it kills M5, which deletes the unselected-mass branch. - test_parked_holdout_still_guards makes the holdout pending with its exemption; it kills M6, which counts only active holdouts. - test_profile_selected_views_reach_the_guard gives the toy a scenario with knobs so activation selects a view, and patches transport_resource so the view carries a row on the holdout's measure; it kills M4, which drops the separation_views append for selected views. No real profile can add a measure: resolve_reference_profiles rebuilds rows by name and never writes measure, so the docstring says the test pins only that views reach the guard. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FbNxkHFc5E9GDKFKe * Run the stage guard on every packaged country's stages (R3) Activation refuses every packaged spec today, so no test reached _precalibration_stages with a country's real stages. test_packaged_precalibration_stages_pass_the_stage_guard calls it on each packaged spec: AM, BE, UK and US return no stages and NZ returns income_tax_schedule_1 and main_benefits_rates with no refusal. test_nz_stage_output_on_a_holdout_measure_refuses_across_entities points NZ's family holdout at jobseeker_support_annual_gross, a person stage output, and expects the refusal; an entity-keyed stage guard lets it through. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FbNxkHFc5E9GDKFKe * Describe what the packaged activation test shows (R4) Every packaged spec refuses activation on missing bindings, and activation joins the guard's gaps into that same refusal. The module docstring and test_packaged_activation_outcome_is_unchanged now say the refusal holds no guard line and the guard leaves it unchanged, list the new branch and non-text tests, and point to the stage-guard test. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LwQq6FbNxkHFc5E9GDKFKe --------- Co-authored-by: Claude --- .../src/microcosm/build/transport/compose.py | 76 ++- .../test_transport_holdout_separation.py | 602 ++++++++++++++++++ .../test_transport_reference_selection.py | 12 +- .../microcosm_build/transport_nz_toy.py | 7 +- 4 files changed, 689 insertions(+), 8 deletions(-) create mode 100644 packages/microcosm-build/tests/engine_free/shared/test_transport_holdout_separation.py diff --git a/packages/microcosm-build/src/microcosm/build/transport/compose.py b/packages/microcosm-build/src/microcosm/build/transport/compose.py index daa90a6e50..620bbd4794 100644 --- a/packages/microcosm-build/src/microcosm/build/transport/compose.py +++ b/packages/microcosm-build/src/microcosm/build/transport/compose.py @@ -68,7 +68,7 @@ import hashlib import json import re -from collections.abc import Iterator, Mapping, Sequence +from collections.abc import Iterable, Iterator, Mapping, Sequence from dataclasses import dataclass, replace from importlib.resources import files from pathlib import Path @@ -1004,6 +1004,54 @@ def _reference_activation_gaps( yield gap +_HOLDOUT_REFERENCES = "holdout_references" + + +def _holdout_separation_gaps( + documents: Iterable[tuple[str, Mapping]], +) -> Iterator[str]: + """Name every non-holdout row that measures a declared holdout's concept. + + A holdout row tests the calibrated model against a fact it never saw, so + no other reference document may carry a row with the same ``measure``, + whatever its entity. Only rows of ``holdout_references`` count as + holdouts; a spec without that document has nothing to guard. + """ + + documents = tuple(documents) + holdouts: dict[str, list[Mapping]] = {} + for resource, document in documents: + if resource != _HOLDOUT_REFERENCES: + continue + for row in document.get("target_references", ()): + if isinstance(row, Mapping) and _is_text(row.get("measure")): + holdouts.setdefault(row["measure"], []).append(row) + if not holdouts: + return + seen = set() + for resource, document in documents: + if resource == _HOLDOUT_REFERENCES: + continue + for row in document.get("target_references", ()): + if ( + not isinstance(row, Mapping) + or not _is_text(row.get("measure")) + or row["measure"] not in holdouts + ): + continue + for holdout in holdouts[row["measure"]]: + gap = ( + f"holdout separation: {resource}.{row.get('name', '?')} " + f"({row.get('entity', '?')}, {row['measure']}) measures " + f"the concept of {_HOLDOUT_REFERENCES}." + f"{holdout.get('name', '?')} " + f"({holdout.get('entity', '?')}, {holdout['measure']})" + ) + if gap not in seen: + seen.add(gap) + yield gap + + def _reference_selections(spec: Mapping[str, object]) -> dict[str, dict]: if not _has_resource(spec, "reference_selection"): return {} @@ -1445,6 +1493,8 @@ def validate_transport_activation(spec: Mapping[str, object]) -> None: Selections inside parameter lists count; selected resource data is literal. Entitlement selections use the factory's instantiated rows, so explicit scenario nodes replace their tier templates during preflight too. + No row of another reference document, mass included, may share a + ``holdout_references`` row's measure on any entity. """ missing = [] @@ -1537,11 +1587,13 @@ def validate_transport_activation(spec: Mapping[str, object]) -> None: ) reference_resources.update(reference_selections) checked_reference_views = set() + separation_views = [] for resource in sorted(reference_resources): if not _has_resource(spec, resource): missing.append(f"{resource}.json") continue document = transport_resource(spec, resource) + separation_views.append((resource, document)) identity = hashlib.sha256(canonical_json(document)).hexdigest() checked_reference_views.add((resource, identity)) missing.extend( @@ -1553,7 +1605,15 @@ def validate_transport_activation(spec: Mapping[str, object]) -> None: measurement_refusals, ) ) + # The mass document is a calibration input even when no node selects it. + if "mass_references" not in reference_resources and _has_resource( + spec, "mass_references" + ): + separation_views.append( + ("mass_references", transport_resource(spec, "mass_references")) + ) for (resource, identity), document in selected_reference_views.items(): + separation_views.append((resource, document)) if (resource, identity) not in checked_reference_views: missing.extend( _reference_activation_gaps( @@ -1564,6 +1624,7 @@ def validate_transport_activation(spec: Mapping[str, object]) -> None: measurement_refusals, ) ) + missing.extend(_holdout_separation_gaps(separation_views)) receipt = ( transport_resource(spec, "receipt_contract") if _has_resource(spec, "receipt_contract") @@ -2932,6 +2993,8 @@ def _precalibration_stages(spec: Mapping[str, object]) -> dict[str, Mapping]: else () ) holdout_columns = {(row["entity"], row["measure"]) for row in holdout} + # A stage output measures a holdout's concept on any entity. + holdout_measures = {row["measure"]: row for row in holdout} holdout_modules = { row["rulespec_path"] for row in bindings.values() @@ -3035,8 +3098,15 @@ def _precalibration_stages(spec: Mapping[str, object]) -> dict[str, Mapping]: "precalibration_stages outputs must be nonempty and distinct." ) columns.add(column) - if columns & holdout_columns: - raise ValueError("precalibration_stages output is a holdout measure.") + for entity, column in sorted(columns): + if column in holdout_measures: + holdout_row = holdout_measures[column] + raise ValueError( + "precalibration_stages output is a holdout measure: stage " + f"{identifier!r} output ({entity}, {column}) measures the " + f"concept of holdout_references.{holdout_row.get('name', '?')} " + f"({holdout_row['entity']}, {holdout_row['measure']})." + ) if stage["rulespec_path"] in holdout_modules: raise ValueError("precalibration_stages module produces a holdout measure.") result[name] = stage diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_holdout_separation.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_holdout_separation.py new file mode 100644 index 0000000000..aadf3c50df --- /dev/null +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_holdout_separation.py @@ -0,0 +1,602 @@ +"""Declared holdout facts stay out of calibration, for every country. + +A ``holdout_references`` row tests the calibrated model against a fact it +never saw. Composition (``validate_transport_activation`` in +``microcosm.build.transport.compose``) refuses any row of another reference +document, mass included, whose ``measure`` equals a holdout row's measure on +any entity, and ``_precalibration_stages`` refuses a pre-calibration stage +output with a holdout's measure on any entity. + +Invariants: + +- Examples: a calibration row on the holdout's column, the same measure on + another entity, a pre-calibration row, a mass row and a pre-calibration + stage output on another entity each refuse with both rows named. +- No packaged spec (AM, BE, NZ, UK, US) trips the guard, over every packaged + reference document. Every packaged spec refuses activation today on missing + bindings; that refusal holds no guard line, and the guard leaves it + unchanged. A separate test runs the stage guard on each country's real + pre-calibration stages. +- Branches: the guard reads the mass document when no node selects it, + counts a parked holdout as a holdout, and reads profile-selected views. +- A non-text ``measure`` on any row raises no ``TypeError``; activation's + outcome equals its outcome without the guard. +- Row-level holdouts stay: a spec that declares no ``holdout_references`` + rows composes whatever its rows measure. +- Property: on random reference documents drawn from a small pool of + measures and entities, activation refuses for holdout separation exactly + when a non-holdout row shares a measure with a holdout row. +- Differential: Belgium's package-test helper ``_separation_violations`` + (``test_be_target_references.py``) and the guard agree, on BE's packaged + documents and on generated documents. +""" + +from __future__ import annotations + +import copy +import importlib.util +import re +import sys +from importlib.resources import files + +import pytest +from hypothesis import HealthCheck, example, given, settings +from hypothesis import strategies as st + +from microcosm.build.holdout import rotated_folds +from microcosm.build.transport import compose as compose_module +from microcosm.build.transport.compose import ( + compose_transport_graph, + load_transport_spec, + validate_transport_activation, +) +from test_support.microcosm_build.transport_composed import ( + PROGRAMS, + make_composed_fixture, +) +from test_support.microcosm_build.transport_graph import reference_row +from test_support.paths import paths_for + +PACKAGED_COUNTRIES = ("am", "be", "nz", "uk", "us") +SEPARATION = "holdout separation" +#: Belgium's three reference sets and the documents that hold them. +BE_SETS = { + "calibration": "target_references", + "precal": "precal_references", + "holdout": "holdout_references", +} +_BE_TEST = ( + paths_for("microcosm-build").package + / "tests/engine_free/shared/test_be_target_references.py" +) + + +def _be_test_module(): + """Belgium's package test, imported by path so its helper is the original.""" + + name = "_holdout_separation_be_reference" + if name not in sys.modules: + spec = importlib.util.spec_from_file_location(name, _BE_TEST) + module = importlib.util.module_from_spec(spec) + sys.modules[name] = module + spec.loader.exec_module(module) + return sys.modules[name] + + +# Belgium's module defines its own ``@given`` tests. Importing it inside a +# running ``@given`` makes Hypothesis refuse the nesting, so import it before +# any test runs, whatever order pytest picks. +_be_test_module() + + +@pytest.fixture(scope="module") +def toy(tmp_path_factory): + """The composed toy package, without unrelated gate binding identities.""" + from microcosm.build.transport import registry as registry_module + + with pytest.MonkeyPatch.context() as patch: + patch.setattr(registry_module, "register_gate_kernel", lambda *args: None) + return make_composed_fixture(tmp_path_factory.mktemp("holdout-separation")) + + +def _rows(spec, resource): + return spec["resources"][resource]["target_references"] + + +def _activation_error(spec): + try: + validate_transport_activation(spec) + except ValueError as error: + return str(error) + return None + + +def _separation_gaps(message): + if message is None: + return [] + return [ + gap.strip() + for gap in message.removeprefix("Transport spec is not activated: ") + .removesuffix(".") + .split("; ") + if gap.strip().startswith(SEPARATION) + ] + + +def test_toy_composes_with_its_holdout(toy): + holdout = _rows(toy.spec, "holdout_references") + assert [(row["entity"], row["measure"]) for row in holdout] == [ + ("person", "receives_main") + ] + assert len(compose_transport_graph(toy.spec, toy.config).nodes) == 27 + + +@pytest.mark.parametrize( + ("resource", "entity"), + [ + ("target_references", "person"), + ("target_references", "household"), + ("precal_references", "person"), + ("precal_references", "household"), + ("mass_references", "person"), + ("mass_references", "household"), + ], +) +def test_row_measuring_a_holdout_refuses_naming_both_rows(toy, resource, entity): + """The triage's reproductions, plus pre-calibration and mass variants.""" + + spec = copy.deepcopy(toy.spec) + _rows(spec, resource).append( + reference_row("toy_leak", entity=entity, measure="receives_main") + ) + with pytest.raises(ValueError) as refused: + compose_transport_graph(spec, toy.config) + assert _separation_gaps(str(refused.value)) == [ + f"{SEPARATION}: {resource}.toy_leak ({entity}, receives_main) measures " + "the concept of holdout_references.toy_holdout_receipts " + "(person, receives_main)" + ] + + +def _family_stage(spec): + binding = next( + row + for row in spec["resources"]["axiom_rules_bindings"]["bindings"] + if row["id"] == "family_housing" + ) + assert binding["entity"] == "family" + assert "toy_family_weekly_amount" in PROGRAMS["family_housing"]["outputs"] + spec["resources"]["precalibration_stages"] = { + "schema_version": 1, + "stages": [ + { + "id": "toy.precal.family_housing", + "rules_binding": "family_housing", + "rulespec_path": binding["rulespec_path"], + "outputs": [ + { + "entity": "family", + "column": "toy_family_weekly_amount", + "purpose": "calibration_measure", + } + ], + "citation": "Synthetic pre-calibration method card.", + } + ], + } + return spec + + +@pytest.mark.parametrize("holdout_entity", ["family", "person", "household"]) +def test_stage_output_measuring_a_holdout_refuses_on_any_entity(toy, holdout_entity): + spec = _family_stage(copy.deepcopy(toy.spec)) + assert set(compose_module._precalibration_stages(spec)) == {"family_housing"} + holdout = _rows(spec, "holdout_references")[0] + holdout.update(entity=holdout_entity, measure="toy_family_weekly_amount") + with pytest.raises(ValueError) as refused: + compose_module._precalibration_stages(spec) + assert str(refused.value) == ( + "precalibration_stages output is a holdout measure: stage " + "'toy.precal.family_housing' output (family, toy_family_weekly_amount) " + "measures the concept of holdout_references.toy_holdout_receipts " + f"({holdout_entity}, toy_family_weekly_amount)." + ) + + +def _packaged_reference_documents(country): + spec = load_transport_spec(country) + return spec, [ + (name, document) + for name, document in sorted(spec["resources"].items()) + if isinstance(document, dict) and "target_references" in document + ] + + +def test_packaged_country_list_is_complete(): + root = files("microcosm.build") + packaged = sorted( + entry.name + for entry in root.iterdir() + if entry.is_dir() + and any(child.name.endswith("references.json") for child in entry.iterdir()) + ) + assert packaged == list(PACKAGED_COUNTRIES) + + +@pytest.mark.parametrize("country", PACKAGED_COUNTRIES) +def test_packaged_reference_documents_pass_the_guard(country): + """The triage's scan, over every packaged reference document.""" + + spec, documents = _packaged_reference_documents(country) + assert documents + assert list(compose_module._holdout_separation_gaps(documents)) == [] + assert SEPARATION not in (_activation_error(spec) or "") + declares = "holdout_references" in spec["resources"] + assert declares == (country in {"be", "nz"}) + if declares: + holdout = {row["measure"] for row in _rows(spec, "holdout_references")} + others = { + row["measure"] + for name, document in documents + if name != "holdout_references" + for row in document["target_references"] + } + assert holdout and not holdout & others + + +@pytest.mark.parametrize("country", PACKAGED_COUNTRIES) +def test_packaged_activation_outcome_is_unchanged(country, monkeypatch): + """The guard adds no line to any packaged spec's activation refusal. + + Every packaged spec refuses activation today on missing bindings, and + ``validate_transport_activation`` joins the guard's gaps into that same + refusal, so the refusal holds no guard line and equals the refusal with + the guard patched out. ``test_packaged_precalibration_stages_pass_the_stage_guard`` + covers the stage guard, which activation's refusal never reaches. + """ + + spec, _ = _packaged_reference_documents(country) + guarded = _activation_error(spec) + monkeypatch.setattr( + compose_module, "_holdout_separation_gaps", lambda documents: iter(()) + ) + assert _activation_error(spec) == guarded + assert _separation_gaps(guarded) == [] + + +@pytest.mark.parametrize("country", PACKAGED_COUNTRIES) +def test_packaged_precalibration_stages_pass_the_stage_guard(country): + """Each country's real stages pass the measure-keyed stage guard. + + Activation refuses every packaged spec today, so composition never + reaches ``_precalibration_stages`` with real stages; this calls it + directly. NZ is the one packaged spec with both stages and holdouts. + """ + + stages = compose_module._precalibration_stages(load_transport_spec(country)) + expected = {"income_tax_schedule_1", "main_benefits_rates"} + assert set(stages) == (expected if country == "nz" else set()) + + +def test_nz_stage_output_on_a_holdout_measure_refuses_across_entities(): + """The control: an NZ ``person`` stage output against a ``family`` holdout. + + An entity-keyed stage guard lets this input through. + """ + + spec = copy.deepcopy(load_transport_spec("nz")) + holdout = _rows(spec, "holdout_references")[0] + assert holdout["entity"] == "family" + holdout["measure"] = "jobseeker_support_annual_gross" + with pytest.raises(ValueError) as refused: + compose_module._precalibration_stages(spec) + assert str(refused.value).startswith( + "precalibration_stages output is a holdout measure: " + ) + assert "(person, jobseeker_support_annual_gross)" in str(refused.value) + assert f"holdout_references.{holdout['name']} (family, " in str(refused.value) + + +@pytest.mark.parametrize("measure", [["receives_main"], {"a": 1}], ids=["list", "dict"]) +@pytest.mark.parametrize( + "resource", ["target_references", "precal_references", "holdout_references"] +) +def test_non_text_measure_keeps_activation_outcome(toy, monkeypatch, resource, measure): + """A list or dict ``measure`` raises no ``TypeError`` from the guard. + + On a non-holdout row the guard skips the row, as it skips a non-text + holdout measure; activation's outcome equals its outcome without the + guard. ``_activation_error`` catches only ``ValueError``, so a + ``TypeError`` fails the test. + """ + + spec = copy.deepcopy(toy.spec) + row = reference_row("toy_odd", entity="household", measure="receives_main") + row["measure"] = copy.deepcopy(measure) + _rows(spec, resource).append(row) + guarded = _activation_error(spec) + monkeypatch.setattr( + compose_module, "_holdout_separation_gaps", lambda documents: iter(()) + ) + assert _activation_error(spec) == guarded + assert _separation_gaps(guarded) == [] + + +def _leak_gap(resource, name="toy_leak", entity="household"): + return [ + f"{SEPARATION}: {resource}.{name} ({entity}, receives_main) measures " + "the concept of holdout_references.toy_holdout_receipts " + "(person, receives_main)" + ] + + +def test_unselected_mass_document_joins_the_guard(toy): + """With no node selecting ``mass_references``, its rows still count.""" + + spec = copy.deepcopy(toy.spec) + params = spec["resources"]["transport_graph"]["nodes"][0]["params"] + del params["mass_reference"], params["mass_reference_sha256"] + _rows(spec, "mass_references").append( + reference_row("toy_leak", entity="household", measure="receives_main") + ) + assert _separation_gaps(_activation_error(spec)) == _leak_gap("mass_references") + + +def test_parked_holdout_still_guards(toy): + """A ``pending`` holdout, exempted as activation asks, still holds out.""" + + spec = copy.deepcopy(toy.spec) + holdout = _rows(spec, "holdout_references")[0] + holdout["metadata"]["activation_status"] = "pending" + spec["resources"]["reference_selection"] = { + "schema_version": 1, + "resources": { + "holdout_references": { + "exempt": [ + { + "name": holdout["name"], + "activation_status": "pending", + "reason": "Awaiting producer.", + } + ] + } + }, + } + assert _activation_error(spec) is None + _rows(spec, "target_references").append( + reference_row("toy_leak", entity="household", measure="receives_main") + ) + assert _separation_gaps(_activation_error(spec)) == _leak_gap("target_references") + + +def test_profile_selected_views_reach_the_guard(toy, monkeypatch): + """A selected view's rows reach the guard. + + No real reference profile can do this today: ``resolve_reference_profiles`` + keeps the base rows by name and its transformations never write + ``measure``, so every measure a view holds already sits in the default + view. This test pins one thing: views selected with a scenario's knobs + reach the guard. It patches ``transport_resource`` so a selected view + carries a row on the holdout's measure. + """ + + spec = copy.deepcopy(toy.spec) + reader = { + "id": "reader-case", + "kernel": "targets.compile@1", + "population": "open", + "params": { + "country": "xx", + "references": {"resource": "target_references", "encoding": "json"}, + "references_sha256": { + "resource": "target_references", + "encoding": "sha256", + }, + }, + } + spec["resources"]["scenarios"]["scenarios"] = [ + {"id": "case", "tier": "calibration", "knobs": {}, "nodes": [reader]} + ] + spec["resources"]["entitlement_graph"] = { + "schema_version": 1, + "nodes": [], + "variant_nodes": [], + "scenario_gap": "gap-{scenario}", + "variant_gap": "gap-{variant}", + } + assert _activation_error(spec) is None + original = compose_module.transport_resource + selected = [] + + def with_view_leak(spec, name, *, profile_selection=None): + document = original(spec, name, profile_selection=profile_selection) + if profile_selection is None or compose_module._stem(name) != ( + "target_references" + ): + return document + selected.append(name) + leak = reference_row( + "toy_view_leak", entity="household", measure="receives_main" + ) + return { + **document, + "target_references": [*document["target_references"], leak], + } + + monkeypatch.setattr(compose_module, "transport_resource", with_view_leak) + assert _separation_gaps(_activation_error(spec)) == _leak_gap( + "target_references", "toy_view_leak" + ) + assert selected + + +def test_specs_without_holdout_references_keep_row_level_holdouts(toy): + """The UK's rotated folds and the US's district blocks stay allowed. + + Neither country declares ``holdout_references``; each holds out rows of + measures it calibrates elsewhere. A fold document under any other name, + and an empty ``holdout_references``, leave every row free. + """ + + spec = copy.deepcopy(toy.spec) + calibration = _rows(spec, "target_references") + calibration.append( + reference_row("toy_main_calibrated", entity="person", measure="receives_main") + ) + rows = [ + reference_row(f"toy_fold_{index}", entity="person", measure="receives_main") + for index in range(5) + ] + folds = rotated_folds(len(rows), n_folds=2) + held = [rows[int(index)] for index in folds[0]] + spec["resources"]["holdout_fold_references"] = { + **spec["resources"]["holdout_references"], + "target_references": held, + } + spec["resources"]["holdout_references"]["target_references"] = [] + assert _separation_gaps(_activation_error(spec)) == [] + assert len(compose_transport_graph(spec, toy.config).nodes) == 27 + # The same rows under the declared name refuse. + spec["resources"]["holdout_references"]["target_references"] = held + assert len(_separation_gaps(_activation_error(spec))) == len(held) + + +_MEASURES = ("receives_main", "age", "person_count", "rent") +_ENTITIES = ("person", "household", "family") +_RESOURCES = ( + "target_references", + "precal_references", + "mass_references", + "holdout_references", +) + + +@st.composite +def _documents(draw, resources=_RESOURCES): + documents = {} + index = 0 + for resource in resources: + rows = [] + for _ in range(draw(st.integers(0, 3))): + rows.append( + reference_row( + f"toy_row_{index}", + entity=draw(st.sampled_from(_ENTITIES)), + measure=draw(st.sampled_from(_MEASURES)), + ) + ) + index += 1 + documents[resource] = rows + return documents + + +def _expected_gaps(documents): + """An independent oracle: every (other row, holdout row) measure pair.""" + + return sorted( + (resource, row["name"], holdout["name"]) + for resource, rows in documents.items() + if resource != "holdout_references" + for row in rows + for holdout in documents["holdout_references"] + if row["measure"] == holdout["measure"] + ) + + +_GAP = re.compile( + rf"{SEPARATION}: (\w+)\.(\w+) \(\w+, \w+\) measures the concept of " + r"holdout_references\.(\w+) \(\w+, \w+\)" +) + + +@settings( + max_examples=40, + deadline=None, + suppress_health_check=[HealthCheck.function_scoped_fixture], +) +@example( + documents={ + "target_references": [ + reference_row("toy_row_0", entity="household", measure="receives_main") + ], + "precal_references": [], + "mass_references": [], + "holdout_references": [ + reference_row("toy_row_1", entity="person", measure="receives_main") + ], + } +) +@given(documents=_documents()) +def test_activation_refuses_exactly_on_a_shared_measure(toy, documents): + spec = copy.deepcopy(toy.spec) + for resource, rows in documents.items(): + spec["resources"][resource]["target_references"] = rows + gaps = _separation_gaps(_activation_error(spec)) + found = sorted(_GAP.fullmatch(gap).groups() for gap in gaps) + assert found == _expected_gaps(documents) + + +def _be_documents(): + spec = load_transport_spec("be") + return { + reference_set: copy.deepcopy(spec["resources"][resource]) + for reference_set, resource in BE_SETS.items() + } + + +def _belgian_measures(documents): + return sorted( + { + measure + for kind, measure in _be_test_module()._separation_violations(documents) + if kind == "holdout_measure" + } + ) + + +_GAP_MEASURE = re.compile(rf"{SEPARATION}: \S+ \(\w+, (\w+)\) measures ") + + +def _guard_measures(documents): + views = [(BE_SETS[name], document) for name, document in documents.items()] + return sorted( + { + _GAP_MEASURE.match(gap).group(1) + for gap in compose_module._holdout_separation_gaps(views) + } + ) + + +def test_belgium_helper_and_guard_agree_on_packaged_documents(): + documents = _be_documents() + assert _belgian_measures(documents) == _guard_measures(documents) == [] + assert _be_test_module()._separation_violations(documents) == [] + + +@settings(max_examples=60, deadline=None) +@given(documents=_documents(tuple(BE_SETS.values()))) +def test_belgium_helper_and_guard_agree_on_generated_documents(documents): + """Generated rows reuse one packaged BE row for every field but the key.""" + + packaged = _be_documents() + template = packaged["calibration"]["target_references"][0] + generated = {} + for reference_set, resource in BE_SETS.items(): + rows = [] + for row in documents[resource]: + built = copy.deepcopy(template) + built.update(name=row["name"], entity=row["entity"], measure=row["measure"]) + built["metadata"]["reference_set"] = reference_set + rows.append(built) + generated[reference_set] = { + **packaged[reference_set], + "target_references": rows, + } + assert _belgian_measures(generated) == _guard_measures(generated) + + +def test_belgium_helper_is_measure_keyed(): + """Pin the premise: Belgium's helper keys holdout separation on the measure.""" + + source = _BE_TEST.read_text() + assert 'measures.setdefault(row["measure"], set()).add(reference_set)' in source diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_reference_selection.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_reference_selection.py index c7c5312ec4..847deb9946 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_reference_selection.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_reference_selection.py @@ -48,13 +48,17 @@ CONFIG = compose.TransportGraphConfig({}, (Owned("person", "person_id", "int64"),)) -def _document(names=("used", "parked")): +#: A holdout measures its own concept, which no other reference document shares. +HOLDOUT_MEASURE = "holdout_indicator" + + +def _document(names=("used", "parked"), measure="person_count"): return reference_document( [ reference_row( name, entity="person", - measure="person_count", + measure=measure, activation_status="pending" if name == "parked" else "active", ) for name in names @@ -97,7 +101,7 @@ def _spec(*nodes): "scenarios": {"scenarios": []}, "precal_references": _document(("precal",)), "target_references": _document(), - "holdout_references": _document(("holdout",)), + "holdout_references": _document(("holdout",), HOLDOUT_MEASURE), "receipt_contract": { "receipts": { "seed_column": "seed", @@ -364,7 +368,7 @@ def test_nonexempt_placeholder_keeps_legacy_gap_message(): def test_absent_selection_preserves_complete_legacy_activation_gap_order(): spec = _spec() spec["resources"].pop("reference_selection") - spec["resources"]["holdout_references"] = _document(("parked",)) + spec["resources"]["holdout_references"] = _document(("parked",), HOLDOUT_MEASURE) spec["resources"]["precal_references"] = _document(("parked",)) # The assigned baseline already visits the reference-resource set in # sorted order, including mandatory resources selected by multiple params. diff --git a/test_support/microcosm_build/transport_nz_toy.py b/test_support/microcosm_build/transport_nz_toy.py index 7b3d619e05..7fd827ab11 100644 --- a/test_support/microcosm_build/transport_nz_toy.py +++ b/test_support/microcosm_build/transport_nz_toy.py @@ -86,6 +86,9 @@ SCENARIOS = ("S0", "S1", "V1", "V3", "VHF") SHARED_BRIDGE = "nz.as.bridge" FLAGS = ("receives_main", "receives_other", "receives_pension") +#: The receipt strata calibrate every flag, so the holdout rows measure a +#: dedicated eligibility column that no other reference document measures. +HOLDOUT_MEASURE = "toy_main_eligible" GROSS = ("toy_main_annual_gross", "toy_other_annual_gross") DEMOGRAPHY = tuple( (f"toy_demography_{region}_{band}", region, lower, upper) @@ -528,6 +531,8 @@ def make_nz_toy_fixture(root): base = make_entitlement_fixture(root, variants=False) spec = copy.deepcopy(base.spec) r = spec["resources"] + for row in r["holdout_references"]["target_references"]: + row["measure"] = HOLDOUT_MEASURE population = write_population_sources( root / "forty-households", mass=120, @@ -1392,7 +1397,7 @@ 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"), + ("holdout_references", "toy_parked_tripwire", "person", HOLDOUT_MEASURE), ): row = reference_row( name, entity=entity, measure=measure, activation_status="pending" From 3995d92d8f26b5b4d6334d429e80b9f8d63f448a Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Tue, 3 Nov 2026 00:33:20 -0500 Subject: [PATCH 61/67] Add a person-level coresident_adult transform kind (#1477) Add one person-level transform kind, CoresidentAdult, serialized as {"kind": "coresident_adult", "min_age": }. A person's value is true when at least one other person row with the same household id has age >= min_age. A null age never qualifies, and a person with a null household id shares a household with nobody. It binds no country. Fix _matched_ids so that a nullable integer id column holding a null no longer reaches matching as float64, where ids beyond 2**53 round together. It now returns such a column as Python ints beside pd.NA, and null-free integer columns as int64, as before. Belgium's hub wrote that fix; the NZ hub applied it unchanged. Invariant: for an integer id column, _matched_ids never returns a float array, so two distinct ids never compare equal and a null id never matches a non-null id. A null person household id can still find a household row whose own id is null in the same nullable dtype, as on main. Reviews: #1183 comments 6592486915 (the kind) and 6595462928 (the _matched_ids fix). Co-Authored-By: Claude Opus 5.5 --- .../src/microcosm/frame/concept_mapping.py | 92 ++++- .../shared/test_concept_mapping.py | 373 ++++++++++++++++++ 2 files changed, 460 insertions(+), 5 deletions(-) diff --git a/packages/microcosm-frame/src/microcosm/frame/concept_mapping.py b/packages/microcosm-frame/src/microcosm/frame/concept_mapping.py index 7ae97ebae8..1379070064 100644 --- a/packages/microcosm-frame/src/microcosm/frame/concept_mapping.py +++ b/packages/microcosm-frame/src/microcosm/frame/concept_mapping.py @@ -68,6 +68,7 @@ "Allocation", "ConceptMappedEngine", "ConceptMapping", + "CoresidentAdult", "CoresidentChildCount", "CoverageReport", "EncodedGroupInputs", @@ -375,6 +376,38 @@ def concepts(self) -> tuple[str, ...]: return (*_PARENT_CONCEPTS, "fact:person.age") +@dataclass(frozen=True) +class CoresidentAdult: + """A boolean input: another person in this person's household is old enough. + + A person's value is true when at least one other person row with the same + household id has an age of at least :attr:`min_age`. The person's own age + never counts, and a null age never qualifies. + + Attributes: + min_age: The age, in whole years, a co-resident must have reached. + The law sets it, so every binding declares it; it has no default. + """ + + min_age: int + + def __post_init__(self) -> None: + if isinstance(self.min_age, bool) or not isinstance(self.min_age, int): + raise ValueError( + f"A co-resident adult's min_age must be an integer, not " + f"{self.min_age!r}." + ) + if self.min_age < 0: + raise ValueError( + f"A co-resident adult's min_age must not be negative: {self.min_age}." + ) + + @property + def concepts(self) -> tuple[str, ...]: + """The concepts the test reads.""" + return ("fact:person.age",) + + @dataclass(frozen=True) class TakeUpThreshold: """A take-up flag: the program's draw falls below its rate. @@ -450,6 +483,7 @@ def concepts(self) -> tuple[str, ...]: | Predicate | RelationshipRole | CoresidentChildCount + | CoresidentAdult | TakeUpThreshold | UnitComposition ) @@ -465,6 +499,7 @@ def concepts(self) -> tuple[str, ...]: "predicate": Predicate, "relationship_role": RelationshipRole, "coresident_child_count": CoresidentChildCount, + "coresident_adult": CoresidentAdult, "take_up_threshold": TakeUpThreshold, "fraction": Fraction, "positive": Positive, @@ -508,6 +543,8 @@ def transform_to_dict(transform: Transform) -> dict[str, object]: out["feature"] = transform.feature.value elif isinstance(transform, CoresidentChildCount) and transform.max_age is not None: out["max_age"] = transform.max_age + elif isinstance(transform, CoresidentAdult): + out["min_age"] = transform.min_age elif isinstance(transform, TakeUpThreshold): out["program"] = transform.program return out @@ -524,6 +561,7 @@ def transform_to_dict(transform: Transform) -> dict[str, object]: "signed_part": frozenset({"sign"}), "unit_composition": frozenset({"feature"}), "coresident_child_count": frozenset({"max_age"}), + "coresident_adult": frozenset({"min_age"}), "take_up_threshold": frozenset({"program"}), } @@ -615,6 +653,8 @@ def optional_age(name: str) -> int | None: return UnitComposition(feature=UnitFeature(text("feature"))) if kind == "coresident_child_count": return CoresidentChildCount(max_age=optional_age("max_age")) + if kind == "coresident_adult": + return CoresidentAdult(min_age=required("min_age")) if kind == "take_up_threshold": return TakeUpThreshold(program=text("program")) return _TRANSFORM_KINDS[kind]() @@ -844,7 +884,8 @@ def concept_entity(self) -> str: if isinstance(self.transform, AllocateToReferencePerson): return "person" if isinstance( - self.transform, RelationshipRole | CoresidentChildCount | UnitComposition + self.transform, + RelationshipRole | CoresidentChildCount | CoresidentAdult | UnitComposition, ): return "person" entities = {concept(concept_id).entity for concept_id in self.concepts} @@ -997,6 +1038,13 @@ def _check_transform_arity(binding: InputBinding) -> None: f"Binding for {name!r}: a child count reads both parents " f"(and age when limited): {transform.concepts}." ) + if isinstance(transform, CoresidentAdult) and ( + binding.concepts != transform.concepts + ): + raise ValueError( + f"Binding for {name!r}: a co-resident adult test reads age only: " + f"{transform.concepts}." + ) if isinstance(transform, TakeUpThreshold): if binding.concepts != ("fact:person.take_up_seed",): raise ValueError(f"Binding for {name!r}: take-up reads the seed.") @@ -2080,16 +2128,20 @@ def reference_rows(self) -> np.ndarray: def _matched_ids(values: pd.Series) -> np.ndarray: - """Ids ready for exact matching: null-free integers as int64, else as is. + """Ids ready for exact matching, never as floats that could round. pandas matches against a narrower unsigned index by casting the targets down to it (261 onto 5 for uint8), so null-free integer ids are widened first; :func:`_require_int64_ids` has already refused any int64 cannot - hold. + hold. A nullable integer column holding a null converts to float64, + where ids beyond 2**53 round together, so this returns its ids as Python + ints beside ``pd.NA`` instead. """ - if values.dtype.kind in "iu" and not values.hasnans: - return values.to_numpy(dtype=np.int64) + if values.dtype.kind in "iu": + if not values.hasnans: + return values.to_numpy(dtype=np.int64) + return values.to_numpy(dtype=object, na_value=pd.NA) return values.to_numpy() @@ -2176,6 +2228,8 @@ def _apply( return context.values(concepts[0]).to_numpy(dtype=np.float64) * fraction if isinstance(transform, CoresidentChildCount): return _child_counts(context, transform.max_age) + if isinstance(transform, CoresidentAdult): + return _coresident_adult_flags(context, transform.min_age) if isinstance(transform, TakeUpThreshold): rate = _unit_interval(rates, transform.program, "take-up rate") seeds = context.values(concepts[0]).to_numpy(dtype=np.float64) @@ -2236,6 +2290,34 @@ def _child_counts(context: _Context, max_age: int | None) -> np.ndarray: return counts +def _coresident_adult_flags(context: _Context, min_age: int) -> np.ndarray: + """Whether another person with the same household id has ``min_age``. + + Persons are grouped on the person table's own household id column, + factorized as exact integers (never through a float array), so household + ids beyond 2**53 stay distinct. A person whose household id names no + household row is grouped with the other persons carrying that id; a + person with a null household id shares a household with nobody. + """ + + _require(context, "fact:person.age", "A co-resident adult test") + households, _ = pd.factorize( + _matched_ids(context.person[_PERSON_HOUSEHOLD_ID]), use_na_sentinel=True + ) + ages = context.values("fact:person.age").to_numpy(dtype=np.float64, na_value=np.nan) + # NaN compares false, so a null age never qualifies. + qualifies = ages >= min_age + placed = households >= 0 + per_household = np.bincount( + households[placed], + weights=qualifies[placed], + minlength=int(households.max(initial=-1)) + 1, + ) + others = np.zeros(len(households), dtype=np.float64) + others[placed] = per_household[households[placed]] - qualifies[placed] + return others > 0 + + def _state_column(column: str) -> tuple[str, str]: """``.`` split, for a person or household column.""" entity, _, name = column.partition(".") if isinstance(column, str) else ("", "", "") diff --git a/packages/microcosm-frame/tests/engine_free/shared/test_concept_mapping.py b/packages/microcosm-frame/tests/engine_free/shared/test_concept_mapping.py index 4f4349a061..e8b155d5ad 100644 --- a/packages/microcosm-frame/tests/engine_free/shared/test_concept_mapping.py +++ b/packages/microcosm-frame/tests/engine_free/shared/test_concept_mapping.py @@ -27,6 +27,7 @@ from microcosm.frame.concept_mapping import ( AllocateToReferencePerson, ConceptMapping, + CoresidentAdult, CoresidentChildCount, CoverageReport, Fraction, @@ -542,6 +543,40 @@ def test_missing_parameters_fail_closed(self) -> None: with pytest.raises(ValueError, match=r"\[0, 1\]"): mapping.encode(tables, shares={"p": 1.5}) + def test_household_ids_beyond_two_to_the_53_match_beside_a_null(self) -> None: + # A null turns a nullable id column into float64 in pandas, where + # these two ids are one number. + big = 2**62 + assert float(big) == float(big + 1) + person = pd.DataFrame( + { + "person_id": np.array([1, 2, 3, 4, 5], dtype=np.int64), + "person_household_id": pd.array( + [big, big, big + 1, big + 1, pd.NA], dtype="Int64" + ), + } + ) + household = pd.DataFrame( + { + "household_id": np.array([big, big + 1], dtype=np.int64), + "reference_person_id": pd.array([1, 3], dtype="Int64"), + "rent": [100.0, 900.0], + } + ) + binding = _binding( + engine_input="rent_paid", + concepts=("fact:household.rent",), + transform=AllocateToReferencePerson(), + ) + out = _mapping([binding]).encode({"person": person, "household": household}) + assert out.tables["person"]["rent_paid"].tolist() == [ + 100.0, + 0.0, + 900.0, + 0.0, + 0.0, + ] + def test_allocation_needs_the_reference_person(self) -> None: tables = { "person": pd.DataFrame({"person_id": [1], "person_household_id": [1]}), @@ -913,6 +948,20 @@ def test_a_minimal_mapping_constructs(self) -> None: ({"transform": Scale(factor=0.5)}, "only float concepts scale"), ({"transform": RelationshipRole(role=Role.REFERENCE_PERSON)}, "reads"), ({"transform": CoresidentChildCount()}, "both parents"), + ( + { + "transform": CoresidentAdult(min_age=18), + "concepts": ("fact:person.weeks_worked",), + }, + "age only", + ), + ( + { + "transform": CoresidentAdult(min_age=18), + "concepts": ("fact:person.age", "fact:person.sex"), + }, + "age only", + ), ({"transform": TakeUpThreshold(program="x")}, "seed"), ( { @@ -1092,6 +1141,8 @@ def test_serialised_mappings_refuse_unknown_fields(self) -> None: RelationshipRole(role=Role.PARENT_OF_CORESIDENT_CHILD, max_child_age=17), CoresidentChildCount(), CoresidentChildCount(max_age=17), + CoresidentAdult(min_age=0), + CoresidentAdult(min_age=18), TakeUpThreshold(program="nz.x"), ] @@ -1113,6 +1164,13 @@ def test_every_transform_serialises_and_reads_back(self, transform) -> None: ), ({"kind": "scale", "factor": True}, "number"), ({"kind": "coresident_child_count", "max_age": "17"}, "integer"), + ({"kind": "coresident_adult"}, "lacks 'min_age'"), + ({"kind": "coresident_adult", "min_age": None}, "integer"), + ({"kind": "coresident_adult", "min_age": True}, "integer"), + ({"kind": "coresident_adult", "min_age": 18.0}, "integer"), + ({"kind": "coresident_adult", "min_age": "18"}, "integer"), + ({"kind": "coresident_adult", "min_age": -1}, "negative"), + ({"kind": "coresident_adult", "min_age": 18, "max_age": 3}, "unexpected"), ({"kind": "take_up_threshold"}, "lacks"), ({"kind": "signed_part"}, "lacks"), ({"kind": "signed_part", "sign": "up"}, "'positive' or 'negative'"), @@ -1827,3 +1885,318 @@ def test_malformed_fields_are_named(self, reader, change, message) -> None: def test_malformed_transform_shapes_are_refused(self, data, message) -> None: with pytest.raises(ValueError, match=message): transform_from_dict(data) + + +# --- The co-resident adult test -------------------------------------------- + +_BIG = 2**53 +_ADULT_INPUT = "synthetic_shares_home_with_adult" + + +def _adult_mapping(min_age: int) -> ConceptMapping: + return _mapping( + [ + _binding( + engine_input=_ADULT_INPUT, + transform=CoresidentAdult(min_age=min_age), + ) + ] + ) + + +def _people_table(households, ages, nullable: bool) -> pd.DataFrame: + """A person table; ``ages`` holds numbers or ``None`` for a null age.""" + + if nullable: + age = pd.array(ages, dtype="Int64") + else: + age = np.asarray( + [np.nan if value is None else float(value) for value in ages], + dtype=np.float64, + ) + return pd.DataFrame( + { + "person_id": np.arange(len(ages), dtype=np.int64) * 7 + 3, + "person_household_id": np.asarray(households, dtype=np.int64), + "age": age, + } + ) + + +def _adult_flags(person: pd.DataFrame, min_age: int) -> list[bool]: + household = pd.DataFrame( + { + "household_id": np.asarray( + sorted(set(person["person_household_id"].tolist())), dtype=np.int64 + ) + } + ) + out = _adult_mapping(min_age).encode({"person": person, "household": household}) + values = out.tables["person"][_ADULT_INPUT] + assert values.dtype == np.bool_ + return values.tolist() + + +def _brute_force(households, ages, min_age: int) -> list[bool]: + """I1's reference: a double loop over Python ints.""" + + return [ + any( + other != me + and households[other] == households[me] + and ages[other] is not None + and ages[other] >= min_age + for other in range(len(ages)) + ) + for me in range(len(ages)) + ] + + +@st.composite +def _people(draw): + """Households of mixed sizes, ids unsorted and non-contiguous, some + differing only beyond 2**53, null ages, rows in a drawn order.""" + + ids = draw( + st.lists( + st.one_of( + st.integers(min_value=-50, max_value=10**6), + st.integers(min_value=_BIG - 3, max_value=_BIG + 5), + st.integers(min_value=2**62, max_value=2**62 + 3), + ), + min_size=1, + max_size=6, + unique=True, + ) + ) + households: list[int] = [] + for household_id in ids: + households += [household_id] * draw(st.integers(min_value=1, max_value=5)) + order = draw(st.permutations(range(len(households)))) + households = [households[row] for row in order] + ages = draw( + st.lists( + st.one_of(st.none(), st.integers(min_value=0, max_value=100)), + min_size=len(households), + max_size=len(households), + ) + ) + return households, ages, draw(st.booleans()) + + +_MIN_AGES = st.integers(min_value=0, max_value=101) + + +class TestCoresidentAdult: + @pytest.mark.parametrize("min_age", [None, True, 18.0, "18", -1]) + def test_construction_refuses_anything_but_a_non_negative_integer( + self, min_age + ) -> None: + with pytest.raises(ValueError, match="min_age"): + CoresidentAdult(min_age=min_age) + + def test_min_age_has_no_default(self) -> None: + with pytest.raises(TypeError): + CoresidentAdult() + + def test_it_reads_age_only_and_lives_on_persons(self) -> None: + binding = _binding(transform=CoresidentAdult(min_age=18)) + assert binding.concepts == ("fact:person.age",) + assert binding.concept_entity == "person" + assert _mapping([binding]).invertible_concepts() == () + + @PROPERTY + @given(people=_people(), min_age=_MIN_AGES) + def test_i1_it_matches_a_brute_force_double_loop(self, people, min_age) -> None: + households, ages, nullable = people + person = _people_table(households, ages, nullable) + assert _adult_flags(person, min_age) == _brute_force(households, ages, min_age) + + @PROPERTY + @given(people=_people(), low=_MIN_AGES, high=_MIN_AGES) + def test_i2_raising_min_age_never_turns_false_into_true( + self, people, low, high + ) -> None: + low, high = sorted((low, high)) + households, ages, nullable = people + person = _people_table(households, ages, nullable) + for at_low, at_high in zip( + _adult_flags(person, low), _adult_flags(person, high), strict=True + ): + assert at_low or not at_high + + @PROPERTY + @given(people=_people(), min_age=_MIN_AGES, data=st.data()) + def test_i3_shuffling_rows_permutes_the_output(self, people, min_age, data) -> None: + households, ages, nullable = people + person = _people_table(households, ages, nullable) + order = data.draw(st.permutations(range(len(person)))) + shuffled = person.iloc[list(order)].reset_index(drop=True) + before = _adult_flags(person, min_age) + assert _adult_flags(shuffled, min_age) == [before[row] for row in order] + + @PROPERTY + @given(people=_people(), min_age=_MIN_AGES, data=st.data()) + def test_i4_a_persons_own_age_never_changes_their_value( + self, people, min_age, data + ) -> None: + households, ages, nullable = people + me = data.draw(st.integers(min_value=0, max_value=len(ages) - 1)) + new_age = data.draw(st.one_of(st.none(), st.integers(0, 100))) + changed = [*ages[:me], new_age, *ages[me + 1 :]] + before = _adult_flags(_people_table(households, ages, nullable), min_age) + after = _adult_flags(_people_table(households, changed, nullable), min_age) + assert after[me] == before[me] + + @PROPERTY + @given(people=_people(), min_age=_MIN_AGES, data=st.data()) + def test_i5_an_age_change_stays_inside_its_household( + self, people, min_age, data + ) -> None: + households, ages, nullable = people + row = data.draw(st.integers(min_value=0, max_value=len(ages) - 1)) + new_age = data.draw(st.one_of(st.none(), st.integers(0, 100))) + changed = [*ages[:row], new_age, *ages[row + 1 :]] + before = _adult_flags(_people_table(households, ages, nullable), min_age) + after = _adult_flags(_people_table(households, changed, nullable), min_age) + for other, household_id in enumerate(households): + if household_id != households[row]: + assert after[other] == before[other] + + @PROPERTY + @given(people=_people(), min_age=_MIN_AGES) + def test_i6_the_qualifying_count_decides_each_household( + self, people, min_age + ) -> None: + households, ages, nullable = people + flags = _adult_flags(_people_table(households, ages, nullable), min_age) + for household_id in set(households): + members = [row for row, h in enumerate(households) if h == household_id] + qualifying = [ + row for row in members if ages[row] is not None and ages[row] >= min_age + ] + for row in members: + if len(qualifying) >= 2: + assert flags[row] + elif len(qualifying) == 1: + assert flags[row] == (row not in qualifying) + else: + assert not flags[row] + + def test_exact_age_qualifies_and_one_person_households_are_false(self) -> None: + households = [5, 5, 9, 2, 2, 2] + ages = [18, 40, 70, 17, None, 30] + person = _people_table(households, ages, nullable=True) + assert _adult_flags(person, 18) == [True, True, False, True, True, False] + assert _adult_flags(person, 19) == [True, False, False, True, True, False] + # A fractional age below the line doesn't qualify. + person = _people_table([3, 3], [17.5, 12], nullable=False) + assert _adult_flags(person, 18) == [False, False] + + @PROPERTY + @given(people=_people(), min_age=_MIN_AGES, data=st.data()) + def test_i7_null_household_ids_leave_the_others_exact( + self, people, min_age, data + ) -> None: + households, ages, nullable = people + nulls = data.draw( + st.lists(st.booleans(), min_size=len(ages), max_size=len(ages)) + ) + ids = [None if null else h for h, null in zip(households, nulls, strict=True)] + person = _people_table(households, ages, nullable) + person["person_household_id"] = pd.array(ids, dtype="Int64") + household = pd.DataFrame( + {"household_id": np.asarray(sorted(set(households)), dtype=np.int64)} + ) + out = _adult_mapping(min_age).encode({"person": person, "household": household}) + expected = [ + ids[me] is not None and flag + for me, flag in enumerate(_brute_force(ids, ages, min_age)) + ] + assert out.tables["person"][_ADULT_INPUT].tolist() == expected + + def test_households_differing_only_beyond_2_53_stay_separate(self) -> None: + # float64 holds 2**53 and 2**53 + 1 as the same number. + assert float(_BIG) == float(_BIG + 1) + households = [_BIG + 1, _BIG, _BIG + 1] + ages = [10, 50, 12] + person = _people_table(households, ages, nullable=False) + assert _adult_flags(person, 18) == [False, False, False] + assert _adult_flags(person, 11) == [True, False, False] + + def test_end_to_end_from_a_parsed_mapping(self) -> None: + data = _mapping([_binding(engine_input=_ADULT_INPUT)]).to_dict() + (binding,) = data["bindings"] + binding["transform"] = {"kind": "coresident_adult", "min_age": 18} + mapping = ConceptMapping.from_dict(json.loads(json.dumps(data))) + assert mapping.bindings[0].transform == CoresidentAdult(min_age=18) + tables = { + "person": pd.DataFrame( + { + "person_id": [40, 10, 30, 20], + "person_household_id": [8, 3, 8, 3], + "age": [70.0, 12.0, 16.0, np.nan], + } + ), + "household": pd.DataFrame({"household_id": [8, 3]}), + } + out = mapping.encode(tables).tables["person"] + assert out["person_id"].tolist() == [40, 10, 30, 20] + assert out[_ADULT_INPUT].tolist() == [False, False, True, False] + + def test_a_frame_without_age_skips_the_input(self) -> None: + tables = { + "person": pd.DataFrame({"person_id": [1], "person_household_id": [1]}), + "household": pd.DataFrame({"household_id": [1]}), + } + out = _adult_mapping(18).encode(tables).tables["person"] + assert _ADULT_INPUT not in out.columns + + def test_a_household_id_naming_no_household_row_still_groups(self) -> None: + tables = { + "person": pd.DataFrame( + { + "person_id": [1, 2, 3, 4], + "person_household_id": [7, 7, 9, 8], + "age": [30.0, 5.0, 40.0, 50.0], + } + ), + "household": pd.DataFrame({"household_id": [9]}), + } + out = _adult_mapping(18).encode(tables).tables["person"] + # Ids 7 and 8 both name no household row, and they stay apart. + assert out[_ADULT_INPUT].tolist() == [False, True, False, False] + + @pytest.mark.parametrize("dtype", ["Int64", "UInt64"]) + def test_a_null_household_id_keeps_ids_beyond_2_53_apart(self, dtype) -> None: + # The null makes pandas offer these ids as float64, where they're + # one number. + big = 2**62 + tables = { + "person": pd.DataFrame( + { + "person_id": [1, 2, 3, 4, 5], + "person_household_id": pd.array( + [big, big, big + 1, big + 1, pd.NA], dtype=dtype + ), + "age": [10.0, 10.0, 40.0, 40.0, 40.0], + } + ), + "household": pd.DataFrame({"household_id": [big, big + 1]}), + } + out = _adult_mapping(18).encode(tables).tables["person"] + assert out[_ADULT_INPUT].tolist() == [False, False, True, True, False] + + def test_a_null_household_id_shares_a_household_with_nobody(self) -> None: + tables = { + "person": pd.DataFrame( + { + "person_id": [1, 2, 3], + "person_household_id": pd.array([pd.NA, pd.NA, 4], dtype="Int64"), + "age": [30.0, 40.0, 50.0], + } + ), + "household": pd.DataFrame({"household_id": [4]}), + } + out = _adult_mapping(18).encode(tables).tables["person"] + assert out[_ADULT_INPUT].tolist() == [False, False, False] From 4a36edcf3600f28fa4232db50f2741298bbe1b28 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Tue, 3 Nov 2026 02:05:42 -0500 Subject: [PATCH 62/67] Add Belgium's wage and legal-pension quantile surfaces (B4a), still inactive (#1463) generate_be_target_references.py writes 31 more precalibration rows and a new legacy_json resource, quantile_surfaces.json. Five active wage rows count RSZ/ONSS T17 employed workers by known-pay daily-wage class at the end of 2026-Q1, each summing its 24 age and sex cells. Twenty-six parked pension rows pin SFPD's group 1 amount bands of January 2025. They sum to the published 2,449,233 and refuse to compile until shared rank_only support lands. Each surface's band document matches the bands parameter of transport.quantile_map@1. No graph reads the surfaces, and Belgium stays inactive. The generator refuses an SFPD band that ends below its floor, so floors rise strictly and every surface band spans at least one cent. B3's artifact-free checks in the Belgian test file now accept several rosters and record sets on a base selector, with a declared member count. GPT-6.1 Sol reviewed ba341404 (Subfleet run 20261102-131234-microcosm1463-review), and an Opus 5.5 agent reviewed the floor check in 3df45966. 58102db1 adds the first-band test that review asked for. Co-Authored-By: Claude Opus 5.5 --- changelog.d/be-quantile-surfaces.added.md | 1 + .../microcosm/build/be/country_package.json | 5 + .../microcosm/build/be/precal_references.json | 1858 ++++++++++++++++- .../microcosm/build/be/quantile_surfaces.json | 443 ++++ .../build/be/reference_inventory.json | 1583 +++++++++++++- .../shared/test_be_target_references.py | 1217 ++++++++++- .../engine_free/shared/test_country_spec.py | 1 + .../test_spec_engine_country_bundles.py | 1 + .../tests/golden/be_country_spec.json | 10 +- tools/generate_be_target_references.py | 636 +++++- 10 files changed, 5690 insertions(+), 65 deletions(-) create mode 100644 changelog.d/be-quantile-surfaces.added.md create mode 100644 packages/microcosm-build/src/microcosm/build/be/quantile_surfaces.json diff --git a/changelog.d/be-quantile-surfaces.added.md b/changelog.d/be-quantile-surfaces.added.md new file mode 100644 index 0000000000..15985c2c85 --- /dev/null +++ b/changelog.d/be-quantile-surfaces.added.md @@ -0,0 +1 @@ +Add Belgium's wage and legal-pension quantile surfaces (B4a), still inactive. `tools/generate_be_target_references.py` now writes 31 more pre-calibration references. Five sum RSZ/ONSS T17's employed workers at the end of 2026-Q1 in each known-pay daily-wage class over its 24 age and sex cells. Twenty-six read SFPD's January 2025 legal-pension amount bands, parked (`requires_pension_route_d1902`) until shared rank-only support lands. A new resource, `quantile_surfaces.json`, holds each surface's band document, the bands parameter `transport.quantile_map@1` takes, beside its unit, period, cohort and coverage notes. The wage edges are euros a day, so nothing may map the donor's annual wages onto them until d1902 picks a conversion. The pension edges are monthly and not annualized. `reference_inventory.json` records the counts behind both surfaces: known plus unknown pay equals T17's quarter total, T7 agrees class by class, and the 26 bands sum to SFPD's published total. The package tests now accept a summed row whose rosters span several record sets, check that its declared member count and its listed reads match the roster product, and expand every roster when they look for a holdout that reads the same cell. Every method choice remains proposed pending d1902, and Belgium still refuses to activate. diff --git a/packages/microcosm-build/src/microcosm/build/be/country_package.json b/packages/microcosm-build/src/microcosm/build/be/country_package.json index 9590487c51..25de1ae91e 100644 --- a/packages/microcosm-build/src/microcosm/build/be/country_package.json +++ b/packages/microcosm-build/src/microcosm/build/be/country_package.json @@ -57,6 +57,11 @@ "kind": "legacy_json", "schema_id": "legacy_json" }, + { + "path": "quantile_surfaces.json", + "kind": "legacy_json", + "schema_id": "legacy_json" + }, { "path": "reference_aging.json", "kind": "legacy_json", diff --git a/packages/microcosm-build/src/microcosm/build/be/precal_references.json b/packages/microcosm-build/src/microcosm/build/be/precal_references.json index 4c9a895a55..a50627032d 100644 --- a/packages/microcosm-build/src/microcosm/build/be/precal_references.json +++ b/packages/microcosm-build/src/microcosm/build/be/precal_references.json @@ -2,23 +2,40 @@ "country": "be", "schema_version": 2, "reference_set": "precal", - "description": "Belgian pre-calibration references: Statbel commune population on 1 January 2025 as the atomic geography support mass, unaged (support shares). Identity only; no observation is carried.", + "description": "Belgian pre-calibration references: Statbel commune population on 1 January 2025 as the atomic geography support mass, unaged (support shares), and BE-MC3's two quantile surfaces (B4a, quantile_surfaces.json). The wage surface is RSZ/ONSS T17's five known-pay daily-wage classes of employees at the end of 2026-Q1, each the sum of its 24 age and sex cells. The legal-pension surface is SFPD's 26 amount bands of January 2025, parked until shared rank_only support lands. Identity and sums only; no observation is carried.", "allowed_value_operations": [ - "identity" + "identity", + "sum" ], "hierarchy": { "providers": { + "onss": { + "label": "National Social Security Office" + }, + "sfpd": { + "label": "Federal Pension Service" + }, "statbel": { "label": "Statbel" } }, "categories": { + "onss.wage_distribution": { + "provider_id": "onss", + "label": "Daily-wage distribution" + }, + "sfpd.pension_distribution": { + "provider_id": "sfpd", + "label": "Legal-pension amount distribution" + }, "statbel.geography_support": { "provider_id": "statbel", "label": "Geography support" } }, "target_labels": { + "rsz_employed_workers_by_daily_wage_class": "RSZ/ONSS employees on 31 March 2026 by daily-wage class, summed over age and sex (wage quantile surface)", + "sfpd_legal_pension_recipients_by_monthly_amount_band": "SFPD legal-pension recipients (employees and self-employed) on 1 January 2025 by gross monthly amount band (pension quantile surface, parked)", "statbel_population_by_commune": "Statbel resident population by NIS 2025 commune, 1 January 2025 (atomic geography support)" } }, @@ -21492,6 +21509,1843 @@ "precal_use": "atomic_geography_support", "ageing": "none: support shares at 1 January 2025" } + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__lt100", + "ledger_selector": { + "source_name": "rsz_employment_daily_wage_class", + "source_measure_id": "employed_workers", + "source_concept": "rsz.employed_workers", + "entity_name": "person", + "period_type": "quarter", + "period_value": "2026-Q1", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": [ + "rsz.t17.2026Q1.1188cc8134270812.employed_workers", + "rsz.t17.2026Q1.9ae5b76f27368269.employed_workers" + ], + "dimensions": [ + "rsz.age_class", + "rsz.daily_wage_class", + "rsz.sex" + ], + "dimension_values": { + "rsz.age_class": [ + "-20", + "20-24", + "25-29", + "30-34", + "35-39", + "40-44", + "45-49", + "50-54", + "55-59", + "60-64", + "65-69", + "70+" + ], + "rsz.daily_wage_class": "<100", + "rsz.sex": [ + "Man-Homme", + "Vrouw-Femme" + ] + } + }, + "entity": "person", + "measure": "people", + "period": "2026-Q1", + "family": "wage_distribution", + "category_id": "onss.wage_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "rsz_employed_workers_by_daily_wage_class", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "National Social Security Office", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "precal_use": "quantile_surface:wages", + "quantile_surface_resource": "quantile_surfaces.json", + "daily_wage_class": "<100", + "daily_wage_lower_eur": "0", + "daily_wage_upper_eur": "100", + "ageing": "none: quarter-end stock on 31 March 2026", + "source_snapshot": "RSZ/ONSS employees at the end of 2026-Q1" + }, + "value_operation": "sum", + "expected_member_count": 24, + "period_match_policy": "exact" + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__100_149", + "ledger_selector": { + "source_name": "rsz_employment_daily_wage_class", + "source_measure_id": "employed_workers", + "source_concept": "rsz.employed_workers", + "entity_name": "person", + "period_type": "quarter", + "period_value": "2026-Q1", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": [ + "rsz.t17.2026Q1.21ae2cbb5a415ab7.employed_workers", + "rsz.t17.2026Q1.f613cce38cd6ac76.employed_workers" + ], + "dimensions": [ + "rsz.age_class", + "rsz.daily_wage_class", + "rsz.sex" + ], + "dimension_values": { + "rsz.age_class": [ + "-20", + "20-24", + "25-29", + "30-34", + "35-39", + "40-44", + "45-49", + "50-54", + "55-59", + "60-64", + "65-69", + "70+" + ], + "rsz.daily_wage_class": "100 - 149", + "rsz.sex": [ + "Man-Homme", + "Vrouw-Femme" + ] + } + }, + "entity": "person", + "measure": "people", + "period": "2026-Q1", + "family": "wage_distribution", + "category_id": "onss.wage_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "rsz_employed_workers_by_daily_wage_class", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "National Social Security Office", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "precal_use": "quantile_surface:wages", + "quantile_surface_resource": "quantile_surfaces.json", + "daily_wage_class": "100 - 149", + "daily_wage_lower_eur": "100", + "daily_wage_upper_eur": "150", + "ageing": "none: quarter-end stock on 31 March 2026", + "source_snapshot": "RSZ/ONSS employees at the end of 2026-Q1" + }, + "value_operation": "sum", + "expected_member_count": 24, + "period_match_policy": "exact" + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__150_199", + "ledger_selector": { + "source_name": "rsz_employment_daily_wage_class", + "source_measure_id": "employed_workers", + "source_concept": "rsz.employed_workers", + "entity_name": "person", + "period_type": "quarter", + "period_value": "2026-Q1", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": [ + "rsz.t17.2026Q1.506880f359444476.employed_workers", + "rsz.t17.2026Q1.f64c3c536965a178.employed_workers" + ], + "dimensions": [ + "rsz.age_class", + "rsz.daily_wage_class", + "rsz.sex" + ], + "dimension_values": { + "rsz.age_class": [ + "-20", + "20-24", + "25-29", + "30-34", + "35-39", + "40-44", + "45-49", + "50-54", + "55-59", + "60-64", + "65-69", + "70+" + ], + "rsz.daily_wage_class": "150 - 199", + "rsz.sex": [ + "Man-Homme", + "Vrouw-Femme" + ] + } + }, + "entity": "person", + "measure": "people", + "period": "2026-Q1", + "family": "wage_distribution", + "category_id": "onss.wage_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "rsz_employed_workers_by_daily_wage_class", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "National Social Security Office", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "precal_use": "quantile_surface:wages", + "quantile_surface_resource": "quantile_surfaces.json", + "daily_wage_class": "150 - 199", + "daily_wage_lower_eur": "150", + "daily_wage_upper_eur": "200", + "ageing": "none: quarter-end stock on 31 March 2026", + "source_snapshot": "RSZ/ONSS employees at the end of 2026-Q1" + }, + "value_operation": "sum", + "expected_member_count": 24, + "period_match_policy": "exact" + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__200_299", + "ledger_selector": { + "source_name": "rsz_employment_daily_wage_class", + "source_measure_id": "employed_workers", + "source_concept": "rsz.employed_workers", + "entity_name": "person", + "period_type": "quarter", + "period_value": "2026-Q1", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": [ + "rsz.t17.2026Q1.1c66a4cf8d6a4661.employed_workers", + "rsz.t17.2026Q1.52f6d86d075b7bf2.employed_workers" + ], + "dimensions": [ + "rsz.age_class", + "rsz.daily_wage_class", + "rsz.sex" + ], + "dimension_values": { + "rsz.age_class": [ + "-20", + "20-24", + "25-29", + "30-34", + "35-39", + "40-44", + "45-49", + "50-54", + "55-59", + "60-64", + "65-69", + "70+" + ], + "rsz.daily_wage_class": "200 - 299", + "rsz.sex": [ + "Man-Homme", + "Vrouw-Femme" + ] + } + }, + "entity": "person", + "measure": "people", + "period": "2026-Q1", + "family": "wage_distribution", + "category_id": "onss.wage_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "rsz_employed_workers_by_daily_wage_class", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "National Social Security Office", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "precal_use": "quantile_surface:wages", + "quantile_surface_resource": "quantile_surfaces.json", + "daily_wage_class": "200 - 299", + "daily_wage_lower_eur": "200", + "daily_wage_upper_eur": "300", + "ageing": "none: quarter-end stock on 31 March 2026", + "source_snapshot": "RSZ/ONSS employees at the end of 2026-Q1" + }, + "value_operation": "sum", + "expected_member_count": 24, + "period_match_policy": "exact" + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__300_plus", + "ledger_selector": { + "source_name": "rsz_employment_daily_wage_class", + "source_measure_id": "employed_workers", + "source_concept": "rsz.employed_workers", + "entity_name": "person", + "period_type": "quarter", + "period_value": "2026-Q1", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": [ + "rsz.t17.2026Q1.77d8f57d640d4a35.employed_workers", + "rsz.t17.2026Q1.d486ab8c44ecf644.employed_workers" + ], + "dimensions": [ + "rsz.age_class", + "rsz.daily_wage_class", + "rsz.sex" + ], + "dimension_values": { + "rsz.age_class": [ + "-20", + "20-24", + "25-29", + "30-34", + "35-39", + "40-44", + "45-49", + "50-54", + "55-59", + "60-64", + "65-69", + "70+" + ], + "rsz.daily_wage_class": ">= 300", + "rsz.sex": [ + "Man-Homme", + "Vrouw-Femme" + ] + } + }, + "entity": "person", + "measure": "people", + "period": "2026-Q1", + "family": "wage_distribution", + "category_id": "onss.wage_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "rsz_employed_workers_by_daily_wage_class", + "activation_status": "active", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "National Social Security Office", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "precal_use": "quantile_surface:wages", + "quantile_surface_resource": "quantile_surfaces.json", + "daily_wage_class": ">= 300", + "daily_wage_lower_eur": "300", + "daily_wage_upper_eur": "open", + "ageing": "none: quarter-end stock on 31 March 2026", + "source_snapshot": "RSZ/ONSS employees at the end of 2026-Q1" + }, + "value_operation": "sum", + "expected_member_count": 24, + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__0_01_to_125", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "0,01 - 124,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:9a329f9e88fe6b479b5346f9" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "0,01 - 124,99", + "band_lower_eur": "0.01", + "band_upper_eur": "125", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__125_to_250", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "125,00 - 249,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:fb8dadc18d74f570c4a83e2f" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "125,00 - 249,99", + "band_lower_eur": "125", + "band_upper_eur": "250", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__250_to_375", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "250,00 - 374,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:a376ab9878e45b4b7f088ea8" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "250,00 - 374,99", + "band_lower_eur": "250", + "band_upper_eur": "375", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__375_to_500", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "375,00 - 499,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:b879e38f2b030f73f297e1a9" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "375,00 - 499,99", + "band_lower_eur": "375", + "band_upper_eur": "500", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__500_to_625", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "500,00 - 624,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b4e263d9ba2114a7e1a466b" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "500,00 - 624,99", + "band_lower_eur": "500", + "band_upper_eur": "625", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__625_to_750", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "625,00 - 749,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:a6bf6bc78e0aeda1fc8254c9" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "625,00 - 749,99", + "band_lower_eur": "625", + "band_upper_eur": "750", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__750_to_875", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "750,00 - 874,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:0f5fe0471cc0653d926831f2" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "750,00 - 874,99", + "band_lower_eur": "750", + "band_upper_eur": "875", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__875_to_1000", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "875,00 - 999,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:20497043bfbb6136b245fab5" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "875,00 - 999,99", + "band_lower_eur": "875", + "band_upper_eur": "1000", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1000_to_1125", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "1.000,00 - 1.124,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:06d79289f4647a9d753a768d" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "1.000,00 - 1.124,99", + "band_lower_eur": "1000", + "band_upper_eur": "1125", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1125_to_1250", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "1.125,00 - 1.249,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:242d02ac50fb3deb7796a77e" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "1.125,00 - 1.249,99", + "band_lower_eur": "1125", + "band_upper_eur": "1250", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1250_to_1375", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "1.250,00 - 1.374,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:6195ce9ba617b7ef577d5f90" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "1.250,00 - 1.374,99", + "band_lower_eur": "1250", + "band_upper_eur": "1375", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1375_to_1500", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "1.375,00 - 1.499,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:97059482c7e937bff0c1277c" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "1.375,00 - 1.499,99", + "band_lower_eur": "1375", + "band_upper_eur": "1500", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1500_to_1625", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "1.500,00 - 1.624,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa180f8491839a0ed146217a" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "1.500,00 - 1.624,99", + "band_lower_eur": "1500", + "band_upper_eur": "1625", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1625_to_1750", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "1.625,00 - 1.749,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:d95796c3e08766039aa7349c" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "1.625,00 - 1.749,99", + "band_lower_eur": "1625", + "band_upper_eur": "1750", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1750_to_1875", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "1.750,00 - 1.874,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:54681db12c3293b12d2daab5" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "1.750,00 - 1.874,99", + "band_lower_eur": "1750", + "band_upper_eur": "1875", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1875_to_2000", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "1.875,00 - 1.999,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a2eea074941d7a54a2e789d" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "1.875,00 - 1.999,99", + "band_lower_eur": "1875", + "band_upper_eur": "2000", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2000_to_2125", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "2.000,00 - 2.124,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:eea5796f87538354facdc49c" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "2.000,00 - 2.124,99", + "band_lower_eur": "2000", + "band_upper_eur": "2125", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2125_to_2250", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "2.125,00 - 2.249,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:9e87df8e8f8b31d2eff11469" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "2.125,00 - 2.249,99", + "band_lower_eur": "2125", + "band_upper_eur": "2250", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2250_to_2375", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "2.250,00 - 2.374,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:1820ed9cb42638dc4170b2d7" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "2.250,00 - 2.374,99", + "band_lower_eur": "2250", + "band_upper_eur": "2375", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2375_to_2500", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "2.375,00 - 2.499,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:591410af854a557f89f7edf5" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "2.375,00 - 2.499,99", + "band_lower_eur": "2375", + "band_upper_eur": "2500", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2500_to_2625", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "2.500,00 - 2.624,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:4667449d76329b02866aba0e" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "2.500,00 - 2.624,99", + "band_lower_eur": "2500", + "band_upper_eur": "2625", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2625_to_2750", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "2.625,00 - 2.749,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:c7ef88029d3ce938688d7b96" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "2.625,00 - 2.749,99", + "band_lower_eur": "2625", + "band_upper_eur": "2750", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2750_to_2875", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "2.750,00 - 2.874,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:267a02529de98c41d5818c2a" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "2.750,00 - 2.874,99", + "band_lower_eur": "2750", + "band_upper_eur": "2875", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2875_to_3000", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "2.875,00 - 2.999,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:635528f21094a6f8c4386fdd" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "2.875,00 - 2.999,99", + "band_lower_eur": "2875", + "band_upper_eur": "3000", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__3000_to_3125", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "3.000,00 - 3.124,99", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:5be67e88e151d6c1fdd42281" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "3.000,00 - 3.124,99", + "band_lower_eur": "3000", + "band_upper_eur": "3125", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__3125_plus", + "ledger_selector": { + "source_name": "sfpd_pension_amount_bands", + "source_measure_id": "recipients", + "source_concept": "sfpd.pension.recipients", + "entity_name": "person", + "period_type": "month", + "period_value": "2025-01", + "geography_level": "country", + "geography_id": "BE", + "geography_vintage": "current", + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "dimensions": [ + "sfpd.career", + "sfpd.monthly_amount_band", + "sfpd.pension_category", + "sfpd.population", + "sfpd.sex" + ], + "dimension_values": { + "sfpd.career": "Alle loopbanen", + "sfpd.monthly_amount_band": "3.125,00 en >", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen" + }, + "aggregate_fact_key": "ledger.aggregate_fact.v2:e547cd6cf676ae86f66208e8" + }, + "entity": "person", + "measure": "people", + "period": "2025-01", + "family": "pension_distribution", + "category_id": "sfpd.pension_distribution", + "assertion_policy": "observed_only", + "metadata": { + "contract_target_id": "sfpd_legal_pension_recipients_by_monthly_amount_band", + "activation_status": "requires_pension_route_d1902", + "criticality": "release_blocking", + "measure_kind": "prepared_column", + "publisher": "Federal Pension Service", + "target_role": "pre_calibration", + "reference_set": "precal", + "method_card_row": "BE-MC3", + "method_card_status": "proposed_pending_d1902", + "parking_reason": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": "quantile_surfaces.json", + "monthly_amount_band": "3.125,00 en >", + "band_lower_eur": "3125", + "band_upper_eur": "open", + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025" + }, + "notes": "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile surface, but nothing may read them until shared rank_only support lands. The shared transport rule drops the donor's public pension, so a shared change, still to be agreed with the NZ hub, must keep the donor's receipt for ranking only, isolated from destination income, before Belgian amounts are assigned. d1902 also settles the pension route and how these monthly amounts are annualized.", + "period_match_policy": "exact" } ], "target_profile": { diff --git a/packages/microcosm-build/src/microcosm/build/be/quantile_surfaces.json b/packages/microcosm-build/src/microcosm/build/be/quantile_surfaces.json new file mode 100644 index 0000000000..bb5217836d --- /dev/null +++ b/packages/microcosm-build/src/microcosm/build/be/quantile_surfaces.json @@ -0,0 +1,443 @@ +{ + "schema_version": 1, + "country": "be", + "generated_by": "tools/generate_be_target_references.py", + "description": "BE-MC3's quantile-map surfaces (B4a), proposed pending d1902. Each band_document is the bands parameter transport.quantile_map@1 takes verbatim; its references name precal_references.json rows, which compile into the target surface the kernel reads. Everything else stays outside band_document, because the kernel refuses any key beside its band lists. No graph reads this resource: Belgium has no transport_graph.json and stays inactive. Counts stay in Chronicle; reference_inventory.json records the evidence.", + "status": "proposed_pending_d1902", + "method_card_row": "BE-MC3", + "reference_resource": "precal_references.json", + "wages": { + "status": "proposed_pending_d1902", + "activation": "Not read by any graph. Nothing may map donor wages onto these edges until d1902 picks the annual-to-daily conversion and the coverage rule (choices 21 to 23).", + "ranked_entity": "person", + "donor_column": "employment_income", + "unit": "eur_per_day", + "source_period": "2026-Q1", + "source": "RSZ/ONSS quarterly labour-market tables, T17 (daily-wage class, age and sex), record set spec rsz.t17.daily_wage_class.v1, measure employed_workers", + "cohort": "Employees registered with RSZ/ONSS at the end of the first quarter of 2026, a quarter-end stock on 31 March 2026. Chronicle's coverage note: it counts inbound cross-border workers and leaves out posted workers and the self-employed. BE-MC3 records that the classes rank normalized daily pay of the main job, without bonuses, 13th month or double holiday pay. It is not a distribution of resident earners over a year.", + "coverage": "The five known-pay classes only. T17's unknown-pay class (Onbekend-Inconnu) has no numeric interval and gets no band, so the shares rank known pay only (d1902 choice 22).", + "conversion": "The donor's employment_income is annual gross pay from all employee jobs, bonuses included; these edges are euros a day. Nothing may map donor wages onto them until d1902 picks the annual-to-daily conversion (choice 23).", + "edge_closure": "Left-closed: each class runs from its printed lower bound up to the next class's lower bound, so '100 - 149' is [100, 150).", + "top_band": "Open from EUR 300 a day. Uniform interpolation refuses an open top band; the tail is d1902 choice 24.", + "band_provenance": [ + { + "reference": "rsz_employed_workers_by_daily_wage_class__lt100", + "printed_label": "<100", + "lower": 0, + "upper": 100 + }, + { + "reference": "rsz_employed_workers_by_daily_wage_class__100_149", + "printed_label": "100 - 149", + "lower": 100, + "upper": 150 + }, + { + "reference": "rsz_employed_workers_by_daily_wage_class__150_199", + "printed_label": "150 - 199", + "lower": 150, + "upper": 200 + }, + { + "reference": "rsz_employed_workers_by_daily_wage_class__200_299", + "printed_label": "200 - 299", + "lower": 200, + "upper": 300 + }, + { + "reference": "rsz_employed_workers_by_daily_wage_class__300_plus", + "printed_label": ">= 300", + "lower": 300, + "upper": null + } + ], + "band_document": { + "bands": [ + { + "lower": 0, + "upper": 100, + "reference": "rsz_employed_workers_by_daily_wage_class__lt100" + }, + { + "lower": 100, + "upper": 150, + "reference": "rsz_employed_workers_by_daily_wage_class__100_149" + }, + { + "lower": 150, + "upper": 200, + "reference": "rsz_employed_workers_by_daily_wage_class__150_199" + }, + { + "lower": 200, + "upper": 300, + "reference": "rsz_employed_workers_by_daily_wage_class__200_299" + }, + { + "lower": 300, + "upper": null, + "reference": "rsz_employed_workers_by_daily_wage_class__300_plus" + } + ] + } + }, + "legal_pensions": { + "status": "proposed_pending_d1902", + "activation": "Parked: its references carry activation_status requires_pension_route_d1902 and refuse compilation until shared rank_only support lands and d1902 settles the pension route (choice 25).", + "ranked_entity": "person", + "donor_column": null, + "donor_column_note": "None yet: the shared transport rule drops the donor's public_pension_income, so no donor column carries pension ranks until shared rank_only support keeps the receipt for ranking only.", + "unit": "eur_per_month", + "source_period": "2025-01", + "source": "SFPD Jaarlijkse statistiek 2025, amount bands of group 1, record set sfpd.amount_bands.jan2025.group1.recipients", + "cohort": "Legal-pension beneficiaries of the employee and self-employed schemes, all careers, pension categories and sexes, a stock on 1 January 2025.", + "coverage": "Gross monthly payment. Includes beneficiaries residing abroad and excludes public-sector pension amounts. The Totaal row and the monthly_expenditure_eur measure are not bands.", + "annualization": "Monthly euros, not annualized. Multiplying January by 12 repeats one month's amount rather than observing an annual pension; it is d1902's choice (25) and is not applied here.", + "edge_closure": "Chronicle bounds each band lower <= amount <= upper in cents; each surface band runs half-open to the next band's lower bound, one cent above, so '0,01 - 124,99' is [0.01, 125).", + "top_band": "Open from EUR 3,125 a month. Uniform interpolation refuses an open top band, and no d1902 choice yet names the pension tail.", + "band_provenance": [ + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__0_01_to_125", + "printed_label": "0,01 - 124,99", + "source_lower_eur": "0.01", + "source_upper_eur": "124.99", + "lower": 0.01, + "upper": 125 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__125_to_250", + "printed_label": "125,00 - 249,99", + "source_lower_eur": "125", + "source_upper_eur": "249.99", + "lower": 125, + "upper": 250 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__250_to_375", + "printed_label": "250,00 - 374,99", + "source_lower_eur": "250", + "source_upper_eur": "374.99", + "lower": 250, + "upper": 375 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__375_to_500", + "printed_label": "375,00 - 499,99", + "source_lower_eur": "375", + "source_upper_eur": "499.99", + "lower": 375, + "upper": 500 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__500_to_625", + "printed_label": "500,00 - 624,99", + "source_lower_eur": "500", + "source_upper_eur": "624.99", + "lower": 500, + "upper": 625 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__625_to_750", + "printed_label": "625,00 - 749,99", + "source_lower_eur": "625", + "source_upper_eur": "749.99", + "lower": 625, + "upper": 750 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__750_to_875", + "printed_label": "750,00 - 874,99", + "source_lower_eur": "750", + "source_upper_eur": "874.99", + "lower": 750, + "upper": 875 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__875_to_1000", + "printed_label": "875,00 - 999,99", + "source_lower_eur": "875", + "source_upper_eur": "999.99", + "lower": 875, + "upper": 1000 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1000_to_1125", + "printed_label": "1.000,00 - 1.124,99", + "source_lower_eur": "1000", + "source_upper_eur": "1124.99", + "lower": 1000, + "upper": 1125 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1125_to_1250", + "printed_label": "1.125,00 - 1.249,99", + "source_lower_eur": "1125", + "source_upper_eur": "1249.99", + "lower": 1125, + "upper": 1250 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1250_to_1375", + "printed_label": "1.250,00 - 1.374,99", + "source_lower_eur": "1250", + "source_upper_eur": "1374.99", + "lower": 1250, + "upper": 1375 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1375_to_1500", + "printed_label": "1.375,00 - 1.499,99", + "source_lower_eur": "1375", + "source_upper_eur": "1499.99", + "lower": 1375, + "upper": 1500 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1500_to_1625", + "printed_label": "1.500,00 - 1.624,99", + "source_lower_eur": "1500", + "source_upper_eur": "1624.99", + "lower": 1500, + "upper": 1625 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1625_to_1750", + "printed_label": "1.625,00 - 1.749,99", + "source_lower_eur": "1625", + "source_upper_eur": "1749.99", + "lower": 1625, + "upper": 1750 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1750_to_1875", + "printed_label": "1.750,00 - 1.874,99", + "source_lower_eur": "1750", + "source_upper_eur": "1874.99", + "lower": 1750, + "upper": 1875 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1875_to_2000", + "printed_label": "1.875,00 - 1.999,99", + "source_lower_eur": "1875", + "source_upper_eur": "1999.99", + "lower": 1875, + "upper": 2000 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2000_to_2125", + "printed_label": "2.000,00 - 2.124,99", + "source_lower_eur": "2000", + "source_upper_eur": "2124.99", + "lower": 2000, + "upper": 2125 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2125_to_2250", + "printed_label": "2.125,00 - 2.249,99", + "source_lower_eur": "2125", + "source_upper_eur": "2249.99", + "lower": 2125, + "upper": 2250 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2250_to_2375", + "printed_label": "2.250,00 - 2.374,99", + "source_lower_eur": "2250", + "source_upper_eur": "2374.99", + "lower": 2250, + "upper": 2375 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2375_to_2500", + "printed_label": "2.375,00 - 2.499,99", + "source_lower_eur": "2375", + "source_upper_eur": "2499.99", + "lower": 2375, + "upper": 2500 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2500_to_2625", + "printed_label": "2.500,00 - 2.624,99", + "source_lower_eur": "2500", + "source_upper_eur": "2624.99", + "lower": 2500, + "upper": 2625 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2625_to_2750", + "printed_label": "2.625,00 - 2.749,99", + "source_lower_eur": "2625", + "source_upper_eur": "2749.99", + "lower": 2625, + "upper": 2750 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2750_to_2875", + "printed_label": "2.750,00 - 2.874,99", + "source_lower_eur": "2750", + "source_upper_eur": "2874.99", + "lower": 2750, + "upper": 2875 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2875_to_3000", + "printed_label": "2.875,00 - 2.999,99", + "source_lower_eur": "2875", + "source_upper_eur": "2999.99", + "lower": 2875, + "upper": 3000 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__3000_to_3125", + "printed_label": "3.000,00 - 3.124,99", + "source_lower_eur": "3000", + "source_upper_eur": "3124.99", + "lower": 3000, + "upper": 3125 + }, + { + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__3125_plus", + "printed_label": "3.125,00 en >", + "source_lower_eur": "3125", + "source_upper_eur": null, + "lower": 3125, + "upper": null + } + ], + "band_document": { + "bands": [ + { + "lower": 0.01, + "upper": 125, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__0_01_to_125" + }, + { + "lower": 125, + "upper": 250, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__125_to_250" + }, + { + "lower": 250, + "upper": 375, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__250_to_375" + }, + { + "lower": 375, + "upper": 500, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__375_to_500" + }, + { + "lower": 500, + "upper": 625, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__500_to_625" + }, + { + "lower": 625, + "upper": 750, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__625_to_750" + }, + { + "lower": 750, + "upper": 875, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__750_to_875" + }, + { + "lower": 875, + "upper": 1000, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__875_to_1000" + }, + { + "lower": 1000, + "upper": 1125, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1000_to_1125" + }, + { + "lower": 1125, + "upper": 1250, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1125_to_1250" + }, + { + "lower": 1250, + "upper": 1375, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1250_to_1375" + }, + { + "lower": 1375, + "upper": 1500, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1375_to_1500" + }, + { + "lower": 1500, + "upper": 1625, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1500_to_1625" + }, + { + "lower": 1625, + "upper": 1750, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1625_to_1750" + }, + { + "lower": 1750, + "upper": 1875, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1750_to_1875" + }, + { + "lower": 1875, + "upper": 2000, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1875_to_2000" + }, + { + "lower": 2000, + "upper": 2125, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2000_to_2125" + }, + { + "lower": 2125, + "upper": 2250, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2125_to_2250" + }, + { + "lower": 2250, + "upper": 2375, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2250_to_2375" + }, + { + "lower": 2375, + "upper": 2500, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2375_to_2500" + }, + { + "lower": 2500, + "upper": 2625, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2500_to_2625" + }, + { + "lower": 2625, + "upper": 2750, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2625_to_2750" + }, + { + "lower": 2750, + "upper": 2875, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2750_to_2875" + }, + { + "lower": 2875, + "upper": 3000, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2875_to_3000" + }, + { + "lower": 3000, + "upper": 3125, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__3000_to_3125" + }, + { + "lower": 3125, + "upper": null, + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__3125_plus" + } + ] + } + } +} diff --git a/packages/microcosm-build/src/microcosm/build/be/reference_inventory.json b/packages/microcosm-build/src/microcosm/build/be/reference_inventory.json index 52b6fe3a97..7c27c8de09 100644 --- a/packages/microcosm-build/src/microcosm/build/be/reference_inventory.json +++ b/packages/microcosm-build/src/microcosm/build/be/reference_inventory.json @@ -57,15 +57,20 @@ } }, "precal_references.json": { - "total": 565, + "total": 596, "by_family": { - "geography_support": 565 + "geography_support": 565, + "wage_distribution": 5, + "pension_distribution": 26 }, "by_contract": { - "statbel_population_by_commune": 565 + "statbel_population_by_commune": 565, + "rsz_employed_workers_by_daily_wage_class": 5, + "sfpd_legal_pension_recipients_by_monthly_amount_band": 26 }, "by_activation_status": { - "active": 565 + "active": 570, + "requires_pension_route_d1902": 26 } }, "holdout_references.json": { @@ -1163,7 +1168,8 @@ "Eurostat D62 social benefits received contain the calibrated unemployment and GRAPA aggregates.", "Eurostat D61 social contributions paid contain the calibrated ONSS worker contributions.", "Eurostat D51A_C1 and D5 measure the same personal income tax that B.1 would calibrate once active.", - "The A.1 stand-in is 98% net professional income, and its amount pair, FPB T11 total resources, contains gross wages, the wage holdout's own series." + "The A.1 stand-in is 98% net professional income, and its amount pair, FPB T11 total resources, contains gross wages, the wage holdout's own series.", + "RSZ T7's daily-wage cells at 2026-Q1 sum to the same class counts as the T17 wage surface, under different facts and semantic keys: a holdout on T7 would share the surface's information." ], "grammar_gaps": [ "A national row composed from commune facts refuses for Belgium: the composed-geography path labels only UK areas (ledger_targets._geography_fallback_label), so CREATE's single national mass reference cannot be the commune sum.", @@ -1173,8 +1179,305 @@ "rolled_forward_by_ratio refuses a negative base, so signed targets (B.1 low deciles) cannot be aged by it.", "rolled_forward_by_ratio's series key treats every FPB annex row of one table as one series (same concept, entity, geography and empty dimensions); the generator and tests enforce row identity themselves.", "The typed vintage alias set admits only a layer's full id, its country-shortened id and its authority value, so Chronicle's NUTS_2024 label cannot be an alias of vintage:be_nuts1_2025; geography_vintage_bindings carries the mapping instead.", - "The schema-1 target_profile drops B1's required_families, basis_periods, tolerance tiers and subnational vintage rule. Package tests restore required families, the vintage rule and each row's periods. Caseload tolerance moves from B1's 15% to BE-MC6's 5%, and the ONSS contribution row moves from B1's standard_admin_release 10% to 5%." + "The schema-1 target_profile drops B1's required_families, basis_periods, tolerance tiers and subnational vintage rule. Package tests restore required families, the vintage rule and each row's periods. Caseload tolerance moves from B1's 15% to BE-MC6's 5%, and the ONSS contribution row moves from B1's standard_admin_release 10% to 5%.", + "A selector cannot pair a record set with a dimension value, and T17 holds each daily-wage class in one record set per sex. Each wage row lists both record sets beside an age and a sex roster, so the package tests' cell check expands their product: 24 cells that exist and 24 that cannot. A list of the members' aggregate keys would bind each member without the artifact, but the package scan admits fact keys only as single strings, so the rosters stay key-free and the feed audit proves their members.", + "No shared code reads a rank-only input. Transport drops the donor's public_pension_income (TransportRule.DROP), and transport.quantile_map@1 ranks one column and overwrites that same column with the mapped amounts. So the SFPD surface rows are kept non-executable only by activation_status, and each one is a named activation gap.", + "Uniform interpolation refuses an open top band, and both surfaces' top bands are open; Pareto interpolation needs a declared alpha, and no shared mode scales the donor's own tail." ], + "quantile_surfaces": { + "resource": "quantile_surfaces.json", + "wages": { + "record_set_spec_id": "rsz.t17.daily_wage_class.v1", + "period": "2026-Q1", + "measure": "employed_workers", + "age_classes": [ + "-20", + "20-24", + "25-29", + "30-34", + "35-39", + "40-44", + "45-49", + "50-54", + "55-59", + "60-64", + "65-69", + "70+" + ], + "sexes": [ + "Man-Homme", + "Vrouw-Femme" + ], + "members_per_class": 24, + "classes": [ + { + "label": "<100", + "reference": "rsz_employed_workers_by_daily_wage_class__lt100", + "workers": 100457.0 + }, + { + "label": "100 - 149", + "reference": "rsz_employed_workers_by_daily_wage_class__100_149", + "workers": 1218251.0 + }, + { + "label": "150 - 199", + "reference": "rsz_employed_workers_by_daily_wage_class__150_199", + "workers": 1182699.0 + }, + { + "label": "200 - 299", + "reference": "rsz_employed_workers_by_daily_wage_class__200_299", + "workers": 1066243.0 + }, + { + "label": ">= 300", + "reference": "rsz_employed_workers_by_daily_wage_class__300_plus", + "workers": 369203.0 + } + ], + "unknown_pay": { + "label": "Onbekend-Inconnu", + "workers": 191700.0, + "facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0173ec9c898e96ff38f14951" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1be9e0086c49f0fff813a753" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2712c746489ebdd43985341f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:28b0d96b85d86aa978abab76" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2fff356dbb2cfe4bd30d75ee" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:37a10351a60c5b16681118df" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:3998e698370c40a8ccbb8145" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4709675c96209c2898ec18bf" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:52c1457134d2220fdd33131f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6ae2c5f8676fc254d3ffbd49" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:74a90f184fa1ab55dc0f254c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:79dfe462a53520e7994a7a2c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7bf2f2611c80bafaa9c7ea41" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9a408c0d622818048b3c3d44" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a64dd4cdec47eacdd213da5f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:af2049af6481da82d2827255" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b1d3adeb80c0df368fe21b61" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b6f055b85a80a6cf8340bd7e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cf479a753463a8ec1479ad6f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d6a3facfd37f85a75c56d8f9" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dd27d7fb24a3a4927aaa0d15" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f0eaa914354aa9c57bf2e337" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f2f7414540b05d2ba3a2bfa4" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f90986bb293c8813e5e91377" + } + ] + }, + "known_pay_workers": 3936853.0, + "table_workers": 4128553.0, + "known_plus_unknown_equals_table": true, + "unknown_share_of_table": 0.04643273321185413, + "t7_cross_check": { + "record_set_spec_id": "rsz.t7.daily_wage_class.v1", + "workers_by_class": { + "100 - 149": 1218251.0, + "150 - 199": 1182699.0, + "200 - 299": 1066243.0, + "<100": 100457.0, + ">= 300": 369203.0, + "Onbekend-Inconnu": 191700.0 + }, + "equals_t17_by_class": true, + "use": "Diagnostic only: T7 crosses NACE 2025 activity, worker status and sex; no reference reads it." + }, + "measure_pin": "employed_workers, never jobs: T17's jobs measure shares the person entity, the count unit and the classes, so _surface_bands cannot tell them apart; the generator and the package tests pin the measure." + }, + "legal_pensions": { + "record_set_id": "sfpd.amount_bands.jan2025.group1.recipients", + "period": "2025-01", + "bands": [ + { + "label": "0,01 - 124,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__0_01_to_125", + "recipients": 281092.0 + }, + { + "label": "125,00 - 249,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__125_to_250", + "recipients": 112943.0 + }, + { + "label": "250,00 - 374,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__250_to_375", + "recipients": 68579.0 + }, + { + "label": "375,00 - 499,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__375_to_500", + "recipients": 53494.0 + }, + { + "label": "500,00 - 624,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__500_to_625", + "recipients": 52925.0 + }, + { + "label": "625,00 - 749,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__625_to_750", + "recipients": 49474.0 + }, + { + "label": "750,00 - 874,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__750_to_875", + "recipients": 44861.0 + }, + { + "label": "875,00 - 999,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__875_to_1000", + "recipients": 39229.0 + }, + { + "label": "1.000,00 - 1.124,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1000_to_1125", + "recipients": 38226.0 + }, + { + "label": "1.125,00 - 1.249,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1125_to_1250", + "recipients": 43057.0 + }, + { + "label": "1.250,00 - 1.374,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1250_to_1375", + "recipients": 50885.0 + }, + { + "label": "1.375,00 - 1.499,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1375_to_1500", + "recipients": 61147.0 + }, + { + "label": "1.500,00 - 1.624,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1500_to_1625", + "recipients": 80839.0 + }, + { + "label": "1.625,00 - 1.749,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1625_to_1750", + "recipients": 222464.0 + }, + { + "label": "1.750,00 - 1.874,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1750_to_1875", + "recipients": 415308.0 + }, + { + "label": "1.875,00 - 1.999,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__1875_to_2000", + "recipients": 189369.0 + }, + { + "label": "2.000,00 - 2.124,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2000_to_2125", + "recipients": 108687.0 + }, + { + "label": "2.125,00 - 2.249,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2125_to_2250", + "recipients": 139867.0 + }, + { + "label": "2.250,00 - 2.374,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2250_to_2375", + "recipients": 88870.0 + }, + { + "label": "2.375,00 - 2.499,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2375_to_2500", + "recipients": 81395.0 + }, + { + "label": "2.500,00 - 2.624,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2500_to_2625", + "recipients": 67760.0 + }, + { + "label": "2.625,00 - 2.749,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2625_to_2750", + "recipients": 54626.0 + }, + { + "label": "2.750,00 - 2.874,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2750_to_2875", + "recipients": 37484.0 + }, + { + "label": "2.875,00 - 2.999,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__2875_to_3000", + "recipients": 21993.0 + }, + { + "label": "3.000,00 - 3.124,99", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__3000_to_3125", + "recipients": 13845.0 + }, + { + "label": "3.125,00 en >", + "reference": "sfpd_legal_pension_recipients_by_monthly_amount_band__3125_plus", + "recipients": 30814.0 + } + ], + "band_recipients": 2449233.0, + "total_fact": { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f9dc8ab69a3b6cbcc0db3f68", + "label": "Totaal", + "recipients": 2449233.0 + }, + "bands_sum_to_total": true, + "excluded": "The Totaal row, which the bands sum to, and every monthly_expenditure_eur fact. SFPD's other groups are not stacked: groups 2 to 164 split group 1's population by career, pension category and sex, and the FPD-beneficiary and IGO groups count other beneficiary populations." + } + }, "exclusions": [ { "id": "jrc_euromod_be_statistics", @@ -1186,7 +1489,7 @@ }, { "id": "legal_pensions", - "reason": "FPB pension amounts and SFPD beneficiary counts and bands: legal pensions are not modelled until d1902 settles BE-MC3's pension route; the SFPD bands are B4's quantile-map surface." + "reason": "FPB pension amounts and SFPD's other beneficiary tables: legal pensions are not modelled until d1902 settles BE-MC3's pension route. SFPD group 1's 26 amount bands are B4a's parked legal-pension surface rows in precal; its Totaal row and expenditure measure are not bands. Groups 2 to 164 split group 1's population, and the FPD-beneficiary and IGO groups count other beneficiary populations, so none is stacked on group 1." }, { "id": "family_allowances", @@ -1194,7 +1497,7 @@ }, { "id": "rsz_wage_classes", - "reason": "RSZ daily-wage classes (B2f) are B4's wage quantile-map input under d1902, not a reference." + "reason": "RSZ daily-wage classes (B2f): B4a's wage surface reads only T17's five known-pay classes of employed workers at 2026-Q1, as precal rows. Earlier quarters, the jobs and FTE measures, the unknown-pay class and T7 (a diagnostic in quantile_surfaces) are not read." }, { "id": "usd_eur_rate", @@ -12872,6 +13175,1270 @@ } ] }, + { + "name": "rsz_employed_workers_by_daily_wage_class__lt100", + "reference_set": "precal", + "selector_sha256": "57179952ce20e428059b209eda9774b6788d1f674a887e1ca2bdcd9be45432c5", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:03e97f8fc1e4c02a24b05b6b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1261db14ee06d08798a76f04" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2d0299ef587a1600a1b358c1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:50f9154b6d3715b290565355" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:529b2713570e6af3aabc59a9" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:659473480a49f6d772adbe8b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:68e69de1a41b5e86fd61bf1c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6c85bb41111599aa187a507f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:70c3068ee232c8f09bda69cd" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7a2eeb0da5579c5a736dcdbe" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:84ef3b510a851883c9687d6a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:94148bb5467a5822ca353085" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9a831cb818590895f0ceb4ff" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b1cc475453a46b74714e040a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bd245c8955f315a856a6314c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c614c4738c22af8c439521d5" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c8cea3dd961ef5a4686a13b0" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cb9b4ce06bd6c736c25b6c61" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d0e8ab515e49c34870dc73e4" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d212cfb30dc71bbd8777897b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dcd594d43f4cd0f0615bd541" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ed8c8a5530aec0aeb993314c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f988cb24a141941956ad7dca" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fb1cd1c7422cf3d68edc526f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:042a3c23cb3d202c1e67079c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:0ee658ba457f879edca04d97" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:22742eedeccb6ff9634e34a0" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:22acaaac1eeeca6210758e22" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2528868e38478b65c024a717" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:399710cdca1b3a7fa76e2ca7" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3e21500e6b03f0bb742306ea" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:4fce14147d60815fc3c1be72" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5a6f4e38bc635b2170e2bf45" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5ab4aff6377599702ce90f9d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5dfa34c587637f82e54b2c6e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7400f2510388a20d349e6a3d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:83ebe615ecfb6557fa7e94c9" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:89945407d524d6824da91dca" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:93b79a11d9feb04143fee601" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9c6dc28e4c93546b3fa2cf8a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9c87f408fe388c815ea9ee29" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a6029079ed87cb08e4ca442e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b5fe6428639500b38e3a12be" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ce9d0bb53bb41376780f9c92" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e430177fc25dae326a1c0f43" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e56a55c0c115f7a65e2529f2" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e993e850492609a44aafbde3" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:feb06742b0412392852cb737" + } + ] + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__100_149", + "reference_set": "precal", + "selector_sha256": "b2866a7f7a84df0f3ca4dbf346c304d4ad3dff797f5bad7fefec940156ee19c8", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1b2013b4ce29079c03390bc4" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1c8dc2113784eac50a0b5d21" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1e7f44d49d33c4f69e53aa84" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:293d8c1d1c71f2edd1c69454" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2d38f11676e2a380f8b6ef86" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2ec86c8648f3fb9d0bf12572" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:40a369f7fc9063e5d6ffa905" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:41c070d07e587a5ee002d5f2" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:44500332cfcd54c6c8bb9e60" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:616d5828259fa12e9d3bc9d7" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:637876c7923f43c29349d61c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6991cfd3783dbf80a68d2a72" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:72e29f3313e9211f9f0d9d70" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7e952b013d7700c75365f3e9" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:849b71345621b0cf7ceb0f55" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:90f5c1ef687108e233fbc19e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9afc61a953de3e4e71912652" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a32e1c5b0541eb00ff5c089a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ac9021160a84a605f78175d1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b1b578a5d21c13d35ef5b777" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d14c400d8a2e85f5604d8eab" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d3d93228dce58dbb50d7cd7a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e341099fc1c7236f341294af" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:eabc0966bc3f85e0fdef8966" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:069f3faeab4186992f0ed70f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:06dc17789888fb94a8ac7c55" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:097aca9e016f6e89434ec506" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:0dc23259df61a979ad0dc8f8" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:13cbafabf268dcccc9635ac1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1571a88e76d21d7011f764c9" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3b211c6085f787e61aa00728" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:3e65b09331241059345fe275" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:4502ef11ee77e4286ed0cc3e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:4c47fb2c22d14973b9c5e20d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:4f5c76c8534591f0ed5c8b28" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:62d603bb49415ea945088d34" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:73b66e88f8ad5583e9ac50be" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7f9f66aeede255ef14dfb935" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9984ed019b844c010f72627a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ac8579771d84363b7782123b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d11e258ef93658e9a53698ad" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d84aa246ebdc38ea1ba258d7" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:dda7c4b939e26efde20893ce" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e263b860311b501e4b40f66b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e7f6d8339878ad2b0f9c3590" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ed47e810a572b61aa3516906" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:eebb37226840d592a1adee6c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ef2dc50fbfb53542dad75fac" + } + ] + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__150_199", + "reference_set": "precal", + "selector_sha256": "1d49f7cbe45c3de3195e5bad46e9167c29773c4ca56bb5e23652cecf0103a3db", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:16efb031e221b13396e0dcfd" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2dbe14e7b5889ad6b0ab881c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:49c5b2543929f536bbead792" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4aaea2769b8e0173bd87b707" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:61add12bfe0f9367a6035f7f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6d42881d8a85a5133ee9c24f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7454c2c704d076cb4d273e5e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:75288557ab45cc6d109e5807" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:76d41b0fc939c79c352bf99d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7a38f2d85944b9bb22561bb6" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:805c1ff4834f6cfd45dd7637" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:935d073912194bd062726dfd" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:97bcd7a4df4a0a246c9ff861" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b2825e3893b1e25beee2b0e2" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b4d769f6247238801c92a6f1" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b8de02ddd99328a0dc5710da" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bb537782cfeac55fe6dd7947" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bda30f52d9e0a7685e407b7a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c92f72c2479c7397df47fd12" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d37cfaaf3e61f022d975bd5a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e13caefedc2529d7805b4e5f" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f70015a435a29661aaf62029" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f7ea076bde5ec859effc8a49" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fe721a833b17972ece4f86e0" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:009ee56bacca814d6fe5647a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:00d1458a17b4ec2c58f2f4db" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:07b7b8c93de39fb84ed413d9" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:10a850976620c203e59a9077" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1b4733d4b74274cb19b71c26" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1f66c43e2e13f5e76c01dec0" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2b6bbaaeb6cdde7a8599f2a1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:365ccb644a5d518ce3b1e18d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:404a12167129e1701cec0653" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:591283b17b6077d261ab1dcd" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:60688fb9ec237fdfa2579675" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:72d9dd747844fc540d2ebb70" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7775b964b3972604b24cc24e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:815cb676ae391d21b7a7ad1c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:afee3f88777754bb09a42086" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b1886532de40fff1eed0917f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:be3ab92b3297135b12b63fb6" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c7555176b05414636d8c94bc" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:cf31652e47b6241dc4536f80" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d0089a94f951695d3cd687e4" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d38148f4517292e3f354b1b9" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:dd4186ae98291ac604785b60" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e26465f94edc54ef042f2ca5" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:ee0864d1d03e1dd2016cab0d" + } + ] + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__200_299", + "reference_set": "precal", + "selector_sha256": "250c3c13d2340d7483da39338091f65f056fff9c4468f62c5c416de73ee32d3a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1164b27d63e71eef04c6f7e9" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:20599d015944c1544b0c796a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:385d6f411a159fb4314a540a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:48a6c510f843f594cfa24d6e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:56e28bfb8a761305fa45a31a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5e9b655c7276ffba6c5ec14e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:753c01b951c930bf2d527295" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7644e3034d6ab601c767f44e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:78629cc1c66c902561fe6bbe" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:80ef1a28bb4b0502ec8a23fb" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b44cfddef5dfadf33b79f6ce" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:bf4f711de6ad8645a4341ae9" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c33cc9e02016c7b21e515ca5" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cb9cf1016f21c33956e9f52e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:cd13629a55ae463a5a01c29e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d630f7f329402549e9b42c38" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d6f9204bf15574234c6cd8c2" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dd58e2c067ac816ae9538a14" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dd816886e887358c4f708326" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e8347a88af037ab724f9ec04" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f2a7a55883cda24990120beb" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f4c07e7552a8a6869c62a78e" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f7e7b3792a720307f26b0f79" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fd198a56b5f547840da09ac9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:070d0aa598de2b9b0beaadd5" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:082ec0f9c06a3b703f6d5695" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:0fec1aad40666590fe3dae2d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:11782628a8d595bbf8b98c6a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:336ee0466347ad4e41a05900" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:35c8c27df5e59c2588771982" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:432591d9e2b343a803640d36" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:4f8d863006fdaaae4ac10099" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:512dce4f54d4250b0332f0ba" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:7a48a41c4f687637b823f938" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8acad313c803b27fed6d76f1" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8d74e0cc6fcec6850e5c0408" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9757d6d577bfcd7c85a1410c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a8ac53d32bb7a1160dd14b90" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:bb630d5a616c7dc71e493553" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c390fd33d46b63f727510f4e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c48d26c27236427559f70180" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c99df1ab459ae8a8f2d8f78a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:cf602f25fcaadb9d39ba5ef7" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:cf69458c73dfbff8afda293d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d710aef35360c9b67f662a6d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e9a76e5f9e68d9db7858d6b8" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:fb1335d09d4561af019a74fb" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:fbb607f2d28f3bfaec399f18" + } + ] + }, + { + "name": "rsz_employed_workers_by_daily_wage_class__300_plus", + "reference_set": "precal", + "selector_sha256": "ce69ccf09df2b2954f8f8a5c6e0395892b422e393d49fd3a275ba4c0f9c55b00", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0cc0ee48cb81f3a5022ef88a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:24eef123d5c905c39d55e687" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:2ce76145c124902b2be53748" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:359aeee94cd7fbd7586ab5e9" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:374153bbc3188810a177e36a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:40f4d4fcea91db96c787434a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:57b8a09e64c86714f3d1acef" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5a8f91955a3b80ee5f965c5d" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5fc29eee205d514528473729" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:650bc2b667a618ed2dc51d72" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:763752208de5b781732c0f27" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:7ec2582739b37236b7bd71bb" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:860a60aac0e08865f9de8d16" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:968eb1aa7844898a4611ef54" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a0f5e795263a5cbcf86e0faa" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ae117ccb0cec2bb0dcfef43c" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:aef42c64e6d768ef76de0160" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b419ba31b7dd59fc277c35c4" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:baf0a81d04cc49b8c208ca8b" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:dbd005c82666f8ad3b79bb95" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ddce3f173f9f72b7c3b2d79a" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:ecd82521a5b05bf2d05ae835" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f8ad3413c045256d7b611be9" + }, + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:f951db2f6a4a1d1fc1f134f1" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:034a9ae265b076dc273f521f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:065b6dd4cc2f79a6d682ac26" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:11ce358fc394f7d665f751f8" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:1340b71c283754a109dce05f" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:212552df641a21349507ec94" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:25860822f7c3e82ba3723a6d" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:2cea89fd2f1a09ef0859a9cb" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:45b83717eaf0a78524f2a369" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:5f2f69cce991fcda25a8f459" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:6b6821d2bb4123779377c406" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:79717cb65830f038c387d12b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8b92af9ff69b2e4a3a4146fb" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:8f6f9a9d836738637b08ed5c" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:9ca9820520cfef83387e0a6a" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:a1777f358bc8e2643d873796" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:b1d1bbe4ddb7e160cd04ab63" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:bb9000334cf7a218b4004600" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c85d5db814d7a3ea047e0955" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:c9ff54344484b746f0cbe47b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d33f773b53c0f3fbe44e0638" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:d533ea752daf6bcbd6ae0855" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:e8619c0cfa118aad4124467b" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:eeacabbb622efbdfe8d86a6e" + }, + { + "semantic_fact_key": "ledger.semantic_fact.v2:f2a6de60349a3247510287ad" + } + ] + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__0_01_to_125", + "reference_set": "precal", + "selector_sha256": "5c050e8f207d63eaa192564d6fe004da0a12ad23bc711cb577b74749949e4b38", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9a329f9e88fe6b479b5346f9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:be6709ec1b831b78f2a14bb4" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__125_to_250", + "reference_set": "precal", + "selector_sha256": "b82f07c306f88948458ec70c2761bf8d8025027b44dbe46bbc82af6fb10850ea", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fb8dadc18d74f570c4a83e2f" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:d8e0c5ae15b3c230fb61d47b" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__250_to_375", + "reference_set": "precal", + "selector_sha256": "66b020d69d3d858930d49b16057631c45dbe93290e40bacd860832eeba548cb2", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a376ab9878e45b4b7f088ea8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:dba1674357b43756a07b825a" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__375_to_500", + "reference_set": "precal", + "selector_sha256": "5e22dcc3ddcc94c41815fe04cba4a5b6bb4a29fdf091a67d2ed412f7c67e5bb0", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:b879e38f2b030f73f297e1a9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:fae9664702ad3699c64c74d4" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__500_to_625", + "reference_set": "precal", + "selector_sha256": "dee2c61d57830269033551270c4e836ef2253cccf9a8e27b5b6503379bec6854", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6b4e263d9ba2114a7e1a466b" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f81afada37df91658533152e" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__625_to_750", + "reference_set": "precal", + "selector_sha256": "a77434c590669411c2db5d383365490478f8f9e29ce4971c986951a2cc5e2b79", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:a6bf6bc78e0aeda1fc8254c9" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:30043d3b3a96691a0502f6f1" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__750_to_875", + "reference_set": "precal", + "selector_sha256": "4951f89f8d9415bbcbd7e956c402911384835cd009df9458207b4bac6ed1ce10", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:0f5fe0471cc0653d926831f2" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f50bed8289f84fc488e80ef6" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__875_to_1000", + "reference_set": "precal", + "selector_sha256": "77239ec81f2d21685b5bb1ddfedf1348a810138c21c258cbd090b7cbdfa43096", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:20497043bfbb6136b245fab5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:611e64e8916986374364382d" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1000_to_1125", + "reference_set": "precal", + "selector_sha256": "7e9cbba9169a25c12d779b58e73d42e297da8f7087e8e645a20e5e7987967287", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:06d79289f4647a9d753a768d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9cb448d09f72c0212aa71c61" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1125_to_1250", + "reference_set": "precal", + "selector_sha256": "483f2ee982cd00a6725a2a87a531bd1dd7b8c7dfaba51dea016e63cd959eb645", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:242d02ac50fb3deb7796a77e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:9c2b32dfde8a275a2c4fabaf" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1250_to_1375", + "reference_set": "precal", + "selector_sha256": "55215ad7df0c42c87d8007d92267801194b77f707de22493bb4f22fa3eac15a9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:6195ce9ba617b7ef577d5f90" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:524afde2d1414dd0d3d2a234" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1375_to_1500", + "reference_set": "precal", + "selector_sha256": "615ad79b46a23af287619cce730fc0d64faac4637978873504a018e73526a2d9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:97059482c7e937bff0c1277c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:3b62734e68edbdbb084b5721" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1500_to_1625", + "reference_set": "precal", + "selector_sha256": "a22bc9d839c75ff594ec406fea9399297eb4fa207b15ff0d710c94501ae30c48", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:fa180f8491839a0ed146217a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:4c0ecbfc487521a39af7862b" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1625_to_1750", + "reference_set": "precal", + "selector_sha256": "83c16ef41bfe2d227eb7ae22a892c7ceeaa38d985fb097585937a4392614c10c", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:d95796c3e08766039aa7349c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:abbe32cacfe6de1b7ebb099e" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1750_to_1875", + "reference_set": "precal", + "selector_sha256": "4d85c8bc54eb8b85f12a728a21cca581e5b1044cdf9b1293701b543b8a5306c9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:54681db12c3293b12d2daab5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:31d9295c9ce68497c23f9269" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__1875_to_2000", + "reference_set": "precal", + "selector_sha256": "0fab11070866738dcec55a3abac47d8c3d42c882ff9c381f6ef52b2c4612ad2a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4a2eea074941d7a54a2e789d" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c874dbefe339f0f500faf8a8" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2000_to_2125", + "reference_set": "precal", + "selector_sha256": "8d77623ca1f1c95bf3fdcaef00387fe2c9d564c9c8a841274af9f94059d0b518", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:eea5796f87538354facdc49c" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2bb964ecd26b22c65a49a90a" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2125_to_2250", + "reference_set": "precal", + "selector_sha256": "69b3ee08da0d0759e6465a28d4f4ebb01d1ca6efbb3a42f79e76bd7ab51fab2d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:9e87df8e8f8b31d2eff11469" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:5464f96f2cd307a3de7fa784" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2250_to_2375", + "reference_set": "precal", + "selector_sha256": "2f06224b8cfc0f0dedec3930704fcdcb5bcdbfffbeff0751f62d2b361bd0093a", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:1820ed9cb42638dc4170b2d7" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:ea0e6c59a925fdec3941184b" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2375_to_2500", + "reference_set": "precal", + "selector_sha256": "f5eb5a827bdfb972650cda9633eb34a9dd046bb673f415a2e4a93dceda88f2ec", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:591410af854a557f89f7edf5" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:c3643a868d0ef4f00802aa0d" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2500_to_2625", + "reference_set": "precal", + "selector_sha256": "f5137c51b44fc1eb79a00a02c50a8559ed7a5f0604e24c1eef93c33e1d5a38b9", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:4667449d76329b02866aba0e" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:b6516651f04a3723302fdf46" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2625_to_2750", + "reference_set": "precal", + "selector_sha256": "95130d0b1398ea4281cd0301a1a135ff15e0ddde24783c6ab2a991d075797d98", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:c7ef88029d3ce938688d7b96" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:2f9d9cb22515b7942efc622c" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2750_to_2875", + "reference_set": "precal", + "selector_sha256": "d33b930d1cf08d571ca846167347f63e5c7df6727efe3a87261e66176a0f7fef", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:267a02529de98c41d5818c2a" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:857ba1ed3307b3505b7613dd" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__2875_to_3000", + "reference_set": "precal", + "selector_sha256": "29fe5b5afd13fbf1258043282c58a75345ce9a88555827c7004354ada7cc1929", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:635528f21094a6f8c4386fdd" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:f3061ffffea3a4830fb4cbca" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__3000_to_3125", + "reference_set": "precal", + "selector_sha256": "b1567bc038f8d45e5e6aae0113a907a6a6010a4308ea29e5c9a8393e0da94b8d", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:5be67e88e151d6c1fdd42281" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:002a3ceabfc93b0513d2669a" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, + { + "name": "sfpd_legal_pension_recipients_by_monthly_amount_band__3125_plus", + "reference_set": "precal", + "selector_sha256": "181eb00abfef5ea51e9112e6bb3e2a80d9e94202678763f12207bd2ac5d18e01", + "base_facts": [ + { + "aggregate_fact_key": "ledger.aggregate_fact.v2:e547cd6cf676ae86f66208e8" + } + ], + "operand_facts": [], + "semantic_facts": [ + { + "semantic_fact_key": "ledger.semantic_fact.v2:122f36e25bd8df9c429e75d6" + } + ], + "partition_total": { + "semantic_fact_key": "ledger.semantic_fact.v2:16b6cd878e9094b556058639" + } + }, { "name": "eurostat_d51a_c1_individual_income_tax", "reference_set": "holdout", diff --git a/packages/microcosm-build/tests/engine_free/shared/test_be_target_references.py b/packages/microcosm-build/tests/engine_free/shared/test_be_target_references.py index cc45cb43e4..fe8f5e5f13 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_be_target_references.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_be_target_references.py @@ -1,4 +1,4 @@ -"""Belgian reference documents: separation, ageing pairs, bands and a pinned-feed audit. +"""Belgian reference documents: separation, ageing, bands, surfaces and a feed audit. The static tests read the committed documents. The feed audit needs the Chronicle ``be`` consumer artifact, which CI does not hold: set @@ -9,14 +9,17 @@ import copy import functools +import itertools import json import math import os import re from fractions import Fraction from pathlib import Path +from types import SimpleNamespace from unittest import mock +import numpy as np import pytest from hypothesis import HealthCheck, example, given, settings from hypothesis import strategies as st @@ -56,7 +59,13 @@ load_transport_spec, validate_transport_activation, ) -from microcosm.build.transport.target_kernels import parse_reference_document +from microcosm.build.transport.population_kernels import _surface_bands +from microcosm.build.transport.target_kernels import ( + decode_target_surface, + encode_target_surface, + parse_reference_document, +) +from microcosm.frame.transport import quantile_map from test_support.paths import paths_for from tools import generate_be_target_references as generator @@ -86,12 +95,14 @@ "source_name", } ) +SURFACES = generator.SURFACE_RESOURCE GENERATED = ( *SETS.values(), "reference_aging.json", "reference_intervals.json", "reference_inventory.json", "reference_profiles.json", + SURFACES, ) BELGIAN_LEVELS = {"country": {"BE"}, "nuts1": {"BE1", "BE2", "BE3"}} # B1's schema-2 profile required these; schema 1 can't, so this package test does. @@ -162,32 +173,40 @@ def _selectors(row): yield {key: value for key, value in operand.items() if key != "role"} +def _listed(value): + return value if isinstance(value, list) else [value] + + def _row_cells(row): """One identity per cell a row reads, whether pinned by key or by roster. A pinned selector also names its record set, measure, geography and dimension values, so pinned and roster cells share one identity and a holdout pinning a fact that calibration reads through a roster collides. + A selector with several rosters or a record-set list reads every + combination of them, so the cells are their product. The vocabulary can't + pair a record set with a dimension value, so for a wage class the product + holds its 24 cells and 24 that no fact fills: a superset, never a miss. """ cells = set() for selector in _selectors(row): - pins = dict(selector.get("dimension_values", {})) - rosters = [key for key, value in pins.items() if isinstance(value, list)] - members = pins[rosters[0]] if rosters else [None] - areas = selector["geography_id"] - for area in areas if isinstance(areas, list) else [areas]: - for member in members: - if rosters: - pins[rosters[0]] = member - cells.add( - ( - selector["record_set_id"], - selector["source_measure_id"], - area, - json.dumps(pins, sort_keys=True), + pins = selector.get("dimension_values", {}) + names = sorted(pins) + for record_set in _listed(selector["record_set_id"]): + for area in _listed(selector["geography_id"]): + for members in itertools.product(*(_listed(pins[n]) for n in names)): + cells.add( + ( + record_set, + selector["source_measure_id"], + area, + json.dumps( + dict(zip(names, members, strict=True)), + sort_keys=True, + ), + ) ) - ) return cells @@ -232,63 +251,110 @@ def _keys(facts): return [key for fact in facts for key in fact.values()] +def _distinct_texts(values): + return ( + bool(values) + and all(isinstance(value, str) and value for value in values) + and len(set(values)) == len(values) + ) + + def _unpinned(row): """Whether a row's selectors read through a spelling no check here can see. The pin check reads aggregate keys and the cell check reads measures and dimension values literally, but the resolver skips an empty field, admits - other fact keys and checks only the pins a selector names. So each selector - keeps to the committed fields, leaves none empty, pins every dimension it - declares with at most one roster, and pins an aggregate key or, for a base - selector, a roster. The feed audit stays the proof: these shapes catch hand - edits, and a roster's members bind to no listed key without the artifact. + other fact keys, checks only the pins a selector names and matches a list + by membership. So each selector keeps to the committed fields, leaves none + empty, pins every dimension it declares, and pins an aggregate key or, for + a base selector, a roster. Only a base selector may hold several rosters + or a list of distinct record sets, and several rosters need a declared + member count; geography_id may be a list too, and no other field. The feed + audit stays the proof: these shapes catch hand edits, and a roster's + members bind to no listed key without the artifact. """ for index, selector in enumerate(_selectors(row)): pins = selector.get("dimension_values") or {} rosters = [value for value in pins.values() if isinstance(value, list)] - members = [ - member - for value in pins.values() - for member in (value if isinstance(value, list) else [value]) - ] + members = [member for value in pins.values() for member in _listed(value)] + lists = {"geography_id", "record_set_id"} if index == 0 else {"geography_id"} + record_sets = selector.get("record_set_id") if ( set(selector) - _SELECTOR_FIELDS or any(value is None or value == "" for value in selector.values()) or not isinstance(selector.get("dimensions"), list) or set(pins) != set(selector["dimensions"]) - or len(rosters) > 1 or not all(rosters) or not all(isinstance(item, str | int) and item != "" for item in members) + or any( + isinstance(value, list | dict) and key not in lists + for key, value in selector.items() + if key not in {"dimensions", "dimension_values"} + ) + or (isinstance(record_sets, list) and not _distinct_texts(record_sets)) + or (len(rosters) > 1 and (index > 0 or _declared_members(row) is None)) or not (selector.get("aggregate_fact_key") or (index == 0 and rosters)) ): return True return False +def _declared_members(row): + """The member count a row declares for its base selector, if any.""" + + for operand in row.get("value_operands", []): + if operand.get("role") == "base": + return operand.get("expected_member_count") + return row.get("expected_member_count") + + +def _miscounted(row, entry): + """Whether a roster base disagrees with its own member count or its entry. + + A roster selector reads the product of its rosters, which must equal the + member count it declares and the number of keys its entry lists. The + resolver refuses a short read at compile time; this refuses the + declaration, or an entry that dropped or gained a member, in CI. + """ + + pins = row["ledger_selector"].get("dimension_values") or {} + rosters = [value for value in pins.values() if isinstance(value, list)] + if not rosters: + return False + count = math.prod(len(roster) for roster in rosters) + return _declared_members(row) != count or ( + entry is not None and len(set(_keys(entry["base_facts"]))) != count + ) + + def _pin_violations(documents, factors, listed): """Each selector must pin what its resolved-read entry lists, under its set. A digest ties an entry to its selectors but not to the keys it lists, so a selector rewritten with a recomputed digest would keep its old keys. Roster - selectors name no key, and only the feed audit proves what they resolve to. + selectors name no key: their entries must list as many keys as the rosters + name cells, and only the feed audit proves which facts they are. """ violations = [] for reference_set, document in documents.items(): for row in document["target_references"]: + entry = listed.get(row["name"]) if _unpinned(row): violations.append(("unpinned", row["name"])) - entry = listed.get(row["name"]) + if _miscounted(row, entry): + violations.append(("member_count", row["name"])) if entry is None: continue if entry["reference_set"] != reference_set: violations.append(("relabelled", row["name"])) base = row["ledger_selector"].get("aggregate_fact_key") operands = { - operand["aggregate_fact_key"] + key for operand in row.get("value_operands", []) if "aggregate_fact_key" in operand + for key in _listed(operand["aggregate_fact_key"]) } if ( base is not None and _keys(entry["base_facts"]) != [base] @@ -316,9 +382,10 @@ def _read_violations(documents, factors, reads): A digest ties each listed entry to its row's exact selectors, so a selector respelled to dodge the cell check fails here. The pin check ties each pinned - key and each row's set to its entry and refuses a spelling these checks can't - read, and the feed audit proves every listed key. Partition totals count as - read, because a holdout on a band set's total shares its information. + key, each roster's member count and each row's set to its entry and refuses + a spelling these checks can't read, and the feed audit proves every listed + key. Partition totals count as read, because a holdout on a band set's total + shares its information. """ listed = {entry["name"]: entry for entry in reads} @@ -533,9 +600,14 @@ def test_counts_by_family_and_reference_set(): inventory = _document("reference_inventory.json")["reference_counts"] assert {name: counts["total"] for name, counts in inventory.items()} == { "target_references.json": 60, - "precal_references.json": 565, + "precal_references.json": 565 + 5 + 26, "holdout_references.json": 7, } + assert inventory["precal_references.json"]["by_family"] == { + "geography_support": 565, + "wage_distribution": 5, + "pension_distribution": 26, + } assert inventory["target_references.json"]["by_family"] == { "demography": 18, "fiscal_income": 18, @@ -555,7 +627,7 @@ def test_counts_by_family_and_reference_set(): ) for reference_set in SETS } - assert active == {"calibration": 18, "precal": 565, "holdout": 0} + assert active == {"calibration": 18, "precal": 565 + 5, "holdout": 0} def test_reference_sets_are_separated(): @@ -778,6 +850,758 @@ def test_an_operand_needs_a_key_even_with_a_roster(): assert not _unpinned(_rows("holdout")[0]) +def test_only_a_base_selector_may_hold_several_rosters(): + """A declared member count admits several rosters on the base, never an operand.""" + + row = copy.deepcopy(_rows("holdout")[0]) + row["value_operands"][0]["expected_member_count"] = 2 + operand = row["value_operands"][1] + operand["dimensions"] = ["a", "b"] + operand["dimension_values"] = {"a": ["x"], "b": ["y", "z"]} + assert _unpinned(row) + operand["dimension_values"]["a"] = "x" + assert not _unpinned(row) + + +WAGE = f"{generator.WAGE_CONTRACT}__lt100" +# One real T17 cell of the <100 class, for mutants: men under 20. Record set +# 9ae5b76f27368269 holds the class's Man-Homme cells. A pin, not a value. +WAGE_MEMBER = { + "record_set_id": "rsz.t17.2026Q1.9ae5b76f27368269.employed_workers", + "dimension_values": { + "rsz.age_class": "-20", + generator.WAGE_CLASS: "<100", + "rsz.sex": "Man-Homme", + }, +} + + +def _named(documents, name): + return next( + row + for document in documents.values() + for row in document["target_references"] + if row["name"] == name + ) + + +def _entry(reads, name): + return next(entry for entry in reads if entry["name"] == name) + + +@pytest.mark.parametrize( + ("mutant", "kind"), + [ + ("partial_roster", "unpinned"), + ("partial_roster_without_dimensions", "unpinned"), + ("roster_beside_an_unpinned_dimension", "unpinned"), + ("no_key_and_no_roster", "unpinned"), + ("rosters_without_a_member_count", "unpinned"), + ("repeated_record_set", "unpinned"), + ("record_set_list_on_an_operand", "unpinned"), + ("key_list_on_the_base", "unpinned"), + ("list_valued_measure", "unpinned"), + ("declared_count_disagrees", "member_count"), + ("roster_gains_a_member", "member_count"), + ("entry_loses_a_member", "member_count"), + ("entry_gains_a_member", "member_count"), + ("entry_swaps_a_member_for_a_holdout_fact", "holdout_fact"), + ], +) +def test_summed_row_spellings_and_mutants_are_caught(mutant, kind): + """A summed wage row reads its rosters' product, and its entry lists as many.""" + + documents, reads = copy.deepcopy(_documents()), copy.deepcopy(_reads()) + row = _named(documents, WAGE) + selector = row["ledger_selector"] + pins = selector["dimension_values"] + holdout = documents["holdout"]["target_references"][0] + entry = _entry(reads, row["name"]) + subject = row["name"] + if mutant == "partial_roster": + del pins["rsz.sex"] + elif mutant == "partial_roster_without_dimensions": + del pins["rsz.sex"], selector["dimensions"] + elif mutant == "roster_beside_an_unpinned_dimension": + selector["dimensions"].append("rsz.region") + elif mutant == "no_key_and_no_roster": + selector.update(copy.deepcopy(WAGE_MEMBER)) + elif mutant == "rosters_without_a_member_count": + del row["expected_member_count"] + elif mutant == "repeated_record_set": + selector["record_set_id"][1] = selector["record_set_id"][0] + elif mutant == "record_set_list_on_an_operand": + row = holdout + operand = row["value_operands"][1] + operand["record_set_id"] = [operand["record_set_id"], "other"] + subject = row["name"] + elif mutant == "key_list_on_the_base": + selector["aggregate_fact_key"] = _keys(entry["base_facts"]) + elif mutant == "list_valued_measure": + selector["source_measure_id"] = [generator.WAGE_MEASURE, "jobs"] + elif mutant == "declared_count_disagrees": + row["expected_member_count"] = 23 + elif mutant == "roster_gains_a_member": + pins["rsz.age_class"].append("75+") + elif mutant == "entry_loses_a_member": + entry["base_facts"].pop(0) + elif mutant == "entry_gains_a_member": + entry["base_facts"].append({"aggregate_fact_key": "ledger.aggregate_fact.v2:x"}) + else: + # A regenerated entry lists a holdout's fact in place of a member. + subject = holdout["ledger_selector"]["aggregate_fact_key"] + entry["base_facts"][0] = {"aggregate_fact_key": subject} + _entry(reads, row["name"])["selector_sha256"] = generator.selector_digest(row) + violations = _read_violations(documents, _document("reference_aging.json"), reads) + assert (kind, subject) in violations + assert ("digest", row["name"]) not in violations + + +def test_a_holdout_pinning_one_wage_member_collides(): + """_row_cells gives the exact cell a holdout pinning one member builds.""" + + documents = copy.deepcopy(_documents()) + selector = { + **copy.deepcopy(_named(documents, WAGE)["ledger_selector"]), + **copy.deepcopy(WAGE_MEMBER), + "aggregate_fact_key": "ledger.aggregate_fact.v2:member", + } + documents["holdout"]["target_references"][0]["ledger_selector"] = selector + cell = ( + WAGE_MEMBER["record_set_id"], + generator.WAGE_MEASURE, + "BE", + json.dumps(WAGE_MEMBER["dimension_values"], sort_keys=True), + ) + violations = _separation_violations(documents) + assert ("holdout_read", cell) in violations + assert ("base", cell) in violations + + +@functools.cache +def _all_rows(): + return tuple( + json.dumps(row) for reference_set in SETS for row in _rows(reference_set) + ) + + +@settings(max_examples=200, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given(index=st.integers(min_value=0, max_value=10**4), data=st.data()) +def test_row_cells_hold_every_member_a_selector_can_name(index, data): + """Property: one record set, area and member of each roster is one cell.""" + + rows = _all_rows() + selector = json.loads(rows[index % len(rows)])["ledger_selector"] + single = { + **selector, + **{ + key: data.draw(st.sampled_from(selector[key])) + for key in ("record_set_id", "geography_id") + if isinstance(selector[key], list) + }, + } + if "dimension_values" in selector: + single["dimension_values"] = { + name: data.draw(st.sampled_from(value)) + if isinstance(value, list) + else value + for name, value in selector["dimension_values"].items() + } + (cell,) = _row_cells({"ledger_selector": single}) + assert cell in _row_cells({"ledger_selector": selector}) + + +def test_row_cells_expand_the_full_roster_product(): + rows = {row["name"]: row for row in _rows("precal") + _rows()} + for row in _surface_rows(_documents())["wages"]: + # 2 record sets x 12 ages x 2 sexes: 24 cells hold facts, 24 can't. + assert len(_row_cells(row)) == 48 + for row in _surface_rows(_documents())["legal_pensions"]: + assert len(_row_cells(row)) == 1 + band = rows["statbel_a1_standin_declarations__10k_20k"] + assert len(_row_cells({"ledger_selector": band["ledger_selector"]})) == 10 + + +def _surface_rows(documents): + """Each surface's precal rows, in document order.""" + + return { + surface: [ + row + for row in documents["precal"]["target_references"] + if row["metadata"].get("precal_use") == f"quantile_surface:{surface}" + ] + for surface in ("wages", "legal_pensions") + } + + +def _finite(edge): + return ( + isinstance(edge, int | float) + and not isinstance(edge, bool) + and math.isfinite(edge) + ) + + +def _band_violations(document, references): + """Whether a band document is a bands parameter transport.quantile_map@1 takes. + + The kernel takes the document verbatim, so it holds exactly a nonempty + bands list of lower, upper and reference. Edges strictly increase and stay + contiguous, the first lower bound is finite and nonnegative, only the last + upper bound may be null, and each reference names a distinct precal row. + """ + + if ( + not isinstance(document, dict) + or set(document) != {"bands"} + or not isinstance(document["bands"], list) + or not document["bands"] + or any( + not isinstance(band, dict) or set(band) != {"lower", "upper", "reference"} + for band in document["bands"] + ) + ): + return ["shape"] + bands, problems = document["bands"], set() + if not _finite(bands[0]["lower"]) or bands[0]["lower"] < 0: + problems.add("first_lower") + for band, following in zip(bands, [*bands[1:], None], strict=True): + lower, upper = band["lower"], band["upper"] + if upper is None: + if following is not None: + problems.add("open_interior") + elif not (_finite(lower) and _finite(upper) and lower < upper): + problems.add("order") + elif following is not None and following["lower"] != upper: + problems.add("gap") + names = [band["reference"] for band in bands] + if not all(isinstance(name, str) for name in names): + problems.add("reference") + else: + if len(set(names)) != len(names): + problems.add("duplicate_reference") + if not set(names) <= set(references): + problems.add("reference") + return sorted(problems) + + +def _surface_violations(documents, surfaces): + """The surfaces must read their declared facts through their own rows. + + _surface_bands checks only that each reference is an unfiltered person + count, which T17's jobs measure and SFPD's Totaal row also are. So each + wage row sums T17's 2026-Q1 employed_workers cells and stays active, each + pension row pins one SFPD group 1 recipient band and stays parked, and + each band document maps its surface's rows in order, with the label each + row pins and the edges its provenance records. + """ + + violations = [] + rows = _surface_rows(documents) + precal = {row["name"] for row in documents["precal"]["target_references"]} + quarter = generator.WAGE_PERIOD.replace("-", "") + for row in rows["wages"]: + selector = row["ledger_selector"] + if ( + selector.get("source_measure_id") != generator.WAGE_MEASURE + or selector.get("source_concept") != f"rsz.{generator.WAGE_MEASURE}" + or selector.get("period_value") != generator.WAGE_PERIOD + or not all( + isinstance(name, str) + and name.startswith(f"rsz.t17.{quarter}.") + and name.endswith(f".{generator.WAGE_MEASURE}") + for name in _listed(selector.get("record_set_id")) + ) + ): + violations.append(("wage_cells", row["name"])) + if ( + row.get("value_operation") != "sum" + or row.get("period_match_policy") != "exact" + or row["metadata"]["activation_status"] != "active" + ): + violations.append(("wage_row", row["name"])) + for row in rows["legal_pensions"]: + selector = row["ledger_selector"] + pins = dict(selector.get("dimension_values", {})) + band = pins.pop(generator.PENSION_BAND, None) + if ( + selector.get("record_set_id") != generator.PENSION_RECORD_SET + or selector.get("source_measure_id") != "recipients" + or pins != generator.PENSION_COHORT + or not isinstance(band, str) + or band == generator.PENSION_TOTAL_LABEL + ): + violations.append(("pension_band", row["name"])) + if row["metadata"]["activation_status"] != generator.PENSION_STATUS: + violations.append(("pension_active", row["name"])) + for surface, pin in ( + ("wages", generator.WAGE_CLASS), + ("legal_pensions", generator.PENSION_BAND), + ): + entry = surfaces[surface] + if entry.get("status") != generator.METHOD_CARD_STATUS: + violations.append(("status", surface)) + problems = _band_violations(entry["band_document"], precal) + violations += [(f"band_{problem}", surface) for problem in problems] + if problems == ["shape"]: + continue + bands = entry["band_document"]["bands"] + if [band["reference"] for band in bands] != [ + row["name"] for row in rows[surface] + ]: + violations.append(("band_rows", surface)) + labels = { + row["name"]: row["ledger_selector"].get("dimension_values", {}).get(pin) + for row in rows[surface] + } + if [ + ( + source["reference"], + source["printed_label"], + source["lower"], + source["upper"], + ) + for source in entry["band_provenance"] + ] != [ + ( + band["reference"], + labels.get(band["reference"]), + band["lower"], + band["upper"], + ) + for band in bands + ]: + violations.append(("provenance", surface)) + return violations + + +def test_quantile_surfaces_read_their_declared_rows(): + documents, surfaces = _documents(), _document(SURFACES) + assert _surface_violations(documents, surfaces) == [] + rows = _surface_rows(documents) + assert [len(rows["wages"]), len(rows["legal_pensions"])] == [5, 26] + wages, pensions = surfaces["wages"], surfaces["legal_pensions"] + assert (wages["unit"], pensions["unit"]) == ("eur_per_day", "eur_per_month") + assert (wages["source_period"], pensions["source_period"]) == ("2026-Q1", "2025-01") + assert (wages["donor_column"], pensions["donor_column"]) == ( + "employment_income", + None, + ) + assert [ + (band["lower"], band["upper"]) for band in wages["band_document"]["bands"] + ] == [ + (0, 100), + (100, 150), + (150, 200), + (200, 300), + (300, None), + ] + assert [ + (band["lower"], band["upper"]) for band in pensions["band_document"]["bands"] + ] == [(0.01, 125), *((125 * k, 125 * (k + 1)) for k in range(1, 25)), (3125, None)] + entries = {entry["name"]: entry for entry in _reads()} + for row in rows["wages"]: + assert row["expected_member_count"] == 24 + assert "aggregate_fact_key" not in row["ledger_selector"] + assert len(entries[row["name"]]["base_facts"]) == 24 + # The unknown-pay class has no row and no band. + assert generator.WAGE_UNKNOWN_CLASS not in { + row["ledger_selector"]["dimension_values"][generator.WAGE_CLASS] + for row in rows["wages"] + } + evidence = _document("reference_inventory.json")["quantile_surfaces"] + known = evidence["wages"] + assert [row["reference"] for row in known["classes"]] == [ + row["name"] for row in rows["wages"] + ] + assert ( + math.fsum(row["workers"] for row in known["classes"]) + == (known["known_pay_workers"]) + ) + assert ( + known["known_pay_workers"] + known["unknown_pay"]["workers"] + == (known["table_workers"]) + ) + assert known["known_plus_unknown_equals_table"] is True + assert len(known["unknown_pay"]["facts"]) == 24 + band_counts = evidence["legal_pensions"] + assert ( + math.fsum(row["recipients"] for row in band_counts["bands"]) + == (band_counts["total_fact"]["recipients"]) + ) + assert band_counts["bands_sum_to_total"] is True + + +@pytest.mark.parametrize( + ("mutant", "kind"), + [ + ("wage_row_counts_jobs", "wage_cells"), + ("wage_row_reads_jobs_record_sets", "wage_cells"), + ("wage_row_reads_another_quarter", "wage_cells"), + ("wage_row_parked", "wage_row"), + ("pension_row_reads_the_total", "pension_band"), + ("pension_row_reads_expenditure", "pension_band"), + ("pension_row_reads_another_group", "pension_band"), + ("pension_row_activated", "pension_active"), + ("band_gap", "band_gap"), + ("band_open_interior", "band_open_interior"), + ("band_negative_floor", "band_first_lower"), + ("band_reference_outside_precal", "band_reference"), + ("band_reference_repeated", "band_duplicate_reference"), + ("band_document_carries_metadata", "band_shape"), + ("bands_out_of_row_order", "band_rows"), + ("provenance_label_swapped", "provenance"), + ("surface_status_dropped", "status"), + ], +) +def test_surface_mutants_are_caught(mutant, kind): + documents, surfaces = copy.deepcopy(_documents()), _document(SURFACES) + rows = _surface_rows(documents) + wage, pension = rows["wages"][0]["ledger_selector"], rows["legal_pensions"][0] + bands = surfaces["wages"]["band_document"]["bands"] + if mutant == "wage_row_counts_jobs": + wage["source_measure_id"], wage["source_concept"] = "jobs", "rsz.jobs" + wage["record_set_id"] = [ + name.replace(".employed_workers", ".jobs") for name in wage["record_set_id"] + ] + elif mutant == "wage_row_reads_jobs_record_sets": + wage["record_set_id"][0] = wage["record_set_id"][0].replace( + ".employed_workers", ".jobs" + ) + elif mutant == "wage_row_reads_another_quarter": + wage["period_value"] = "2025-Q4" + wage["record_set_id"] = [ + name.replace("2026Q1", "2025Q4") for name in wage["record_set_id"] + ] + elif mutant == "wage_row_parked": + rows["wages"][0]["metadata"]["activation_status"] = "requires_d1902" + elif mutant == "pension_row_reads_the_total": + pension["ledger_selector"]["dimension_values"][generator.PENSION_BAND] = ( + generator.PENSION_TOTAL_LABEL + ) + elif mutant == "pension_row_reads_expenditure": + pension["ledger_selector"]["source_measure_id"] = "monthly_expenditure_eur" + pension["ledger_selector"]["record_set_id"] = ( + "sfpd.amount_bands.jan2025.group1.monthly_expenditure_eur" + ) + elif mutant == "pension_row_reads_another_group": + pension["ledger_selector"]["record_set_id"] = ( + "sfpd.amount_bands.jan2025.group2.recipients" + ) + pension["ledger_selector"]["dimension_values"]["sfpd.pension_category"] = ( + "Gehuwd: Rust gezinsbedrag" + ) + elif mutant == "pension_row_activated": + pension["metadata"]["activation_status"] = "active" + elif mutant == "band_gap": + bands[1]["lower"] = 101 + elif mutant == "band_open_interior": + bands[1]["upper"] = None + elif mutant == "band_negative_floor": + bands[0]["lower"] = -1 + elif mutant == "band_reference_outside_precal": + bands[0]["reference"] = "statbel_b4_declarations__joint" + elif mutant == "band_reference_repeated": + bands[1]["reference"] = bands[0]["reference"] + elif mutant == "band_document_carries_metadata": + surfaces["wages"]["band_document"]["unit"] = "eur_per_day" + elif mutant == "bands_out_of_row_order": + bands[0]["reference"], bands[1]["reference"] = ( + bands[1]["reference"], + bands[0]["reference"], + ) + elif mutant == "provenance_label_swapped": + surfaces["wages"]["band_provenance"][0]["printed_label"] = "100 - 149" + else: + surfaces["legal_pensions"]["status"] = "active" + assert kind in { + violation[0] for violation in _surface_violations(documents, surfaces) + } + + +@functools.cache +def _precal_names(): + return tuple(row["name"] for row in _rows("precal")) + + +@functools.cache +def _other_names(): + return tuple( + row["name"] + for reference_set in ("calibration", "holdout") + for row in _rows(reference_set) + ) + + +@settings(max_examples=300, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given( + edges=st.lists( + st.integers(min_value=0, max_value=10**6), min_size=3, max_size=30, unique=True + ).map(sorted), + open_top=st.booleans(), + rupture=st.sampled_from( + [ + "overlap", + "hole", + "swap", + "zero_width", + "open_interior", + "negative_floor", + "foreign_reference", + "repeated_reference", + "metadata", + ] + ), + data=st.data(), +) +def test_band_documents_hold_their_properties_and_each_break_refuses( + edges, open_top, rupture, data +): + """Property: contiguous increasing edges over precal rows pass; one break refuses. + + The kernel ranks onto these edges. A gap, an overlap, an open interior + band, a negative floor, or a reference outside precal or used twice would + change the shares it divides or the population it reads. + """ + + names = _precal_names() + bounds = list( + zip(edges, [*edges[1:], None] if open_top else edges[1:], strict=False) + ) + references = data.draw( + st.lists( + st.sampled_from(names), + min_size=len(bounds), + max_size=len(bounds), + unique=True, + ) + ) + document = { + "bands": [ + {"lower": lower, "upper": upper, "reference": name} + for (lower, upper), name in zip(bounds, references, strict=True) + ] + } + assert _band_violations(document, names) == [] + bands = document["bands"] + index = data.draw(st.integers(min_value=0, max_value=len(bands) - 2)) + if rupture == "overlap": + bands[index]["upper"] += data.draw(st.integers(min_value=1, max_value=10)) + expected = "gap" + elif rupture == "hole": + bands[index + 1]["lower"] += data.draw(st.integers(min_value=1, max_value=10)) + expected = "gap" + elif rupture == "swap": + # A swapped open top band becomes an open interior band. + bands[index], bands[index + 1] = bands[index + 1], bands[index] + expected = "open_interior" if bands[index]["upper"] is None else "gap" + elif rupture == "zero_width": + bands[index]["upper"] = bands[index]["lower"] + expected = "order" + elif rupture == "open_interior": + bands[index]["upper"] = None + expected = "open_interior" + elif rupture == "negative_floor": + bands[0]["lower"] = -data.draw(st.integers(min_value=1, max_value=10**6)) + expected = "first_lower" + elif rupture == "foreign_reference": + bands[index]["reference"] = data.draw(st.sampled_from(_other_names())) + expected = "reference" + elif rupture == "repeated_reference": + bands[index + 1]["reference"] = bands[index]["reference"] + expected = "duplicate_reference" + else: + document["unit"] = "eur_per_day" + expected = "shape" + assert expected in _band_violations(document, names) + + +def _member_facts(row, values): + """Synthetic facts filling a row's members: resolver probes, not Belgian values.""" + + selector = row["ledger_selector"] + if "aggregate_fact_key" in selector: + return [_synthetic_fact(selector, values[0])] + pins = selector["dimension_values"] + names = sorted(pins) + record_sets = selector["record_set_id"] + members = itertools.product(*(_listed(pins[name]) for name in names)) + return [ + _synthetic_fact( + { + **selector, + "aggregate_fact_key": f"synthetic:{row['name']}:{index}", + "record_set_id": record_sets[index % len(record_sets)], + "dimension_values": dict(zip(names, member, strict=True)), + }, + values[index], + ) + for index, member in enumerate(members) + ] + + +@settings(max_examples=30, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given(surface=st.sampled_from(["wages", "legal_pensions"]), data=st.data()) +def test_band_shares_do_not_depend_on_compilation_order(surface, data): + """Property: the shares follow the band document, whatever order compiles. + + Differential: each share equals its row's count over the total, computed + exactly. Pension rows compile through _executable, as B3's parked rows do. + """ + + documents = _documents() + rows = [_executable(row) for row in _surface_rows(documents)[surface]] + document = _document(SURFACES)[surface]["band_document"] + facts, counts = [], [] + for row in rows: + size = _declared_members(row) or 1 + values = data.draw( + st.lists( + st.integers(min_value=1, max_value=10**9), min_size=size, max_size=size + ) + ) + facts += _member_facts(row, values) + counts.append(sum(values)) + shares = [] + for _ in range(2): + references = _parsed( + data.draw(st.permutations(rows)), documents["precal"]["hierarchy"] + ) + registry = compile_ledger_target_references( + data.draw(st.permutations(facts)), references, country="be" + ) + shares.append( + _surface_bands(document, SimpleNamespace(registry=registry), unit="person") + ) + total = sum(counts) + assert shares[0] == shares[1] + assert [band["share"] for band in shares[0]] == [ + float(Fraction(count, total)) for count in counts + ] + + +def _printed_cents(cents): + euros, rest = divmod(cents, 100) + return f"{euros:,}".replace(",", ".") + f",{rest:02d}" + + +def _pension_fact(lower, last_cent, label=None): + """A synthetic SFPD band fact with Chronicle's constraint shape (cents).""" + + constraints = [ + { + "operator": ">=", + "unit": "eur", + "value": lower / 100, + "variable": generator.PENSION_AMOUNT, + } + ] + if last_cent is not None: + constraints.append( + { + "operator": "<=", + "unit": "eur", + "value": last_cent / 100, + "variable": generator.PENSION_AMOUNT, + } + ) + if label is None: + label = _printed_cents(lower) + ( + " en >" if last_cent is None else f" - {_printed_cents(last_cent)}" + ) + return { + "dimensions": {generator.PENSION_BAND: label}, + "universe_constraints": {"constraints": constraints}, + } + + +@settings(max_examples=200, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given( + cuts=st.lists(st.integers(min_value=2, max_value=10**7), max_size=30, unique=True), + order=st.randoms(use_true_random=False), +) +def test_pension_bands_tile_any_cent_ladder_from_one_cent(cuts, order): + """Property: bands bounded to the cent below the next band tile half-open.""" + + lowers = [1, *sorted(cuts)] + facts = [ + _pension_fact(lower, None if following is None else following - 1) + for lower, following in zip(lowers, [*lowers[1:], None], strict=True) + ] + order.shuffle(facts) + tiled = generator._pension_bands(facts) + assert [band[0] for band in tiled] == [Fraction(lower, 100) for lower in lowers] + assert [band[1] for band in tiled] == [ + *(Fraction(lower, 100) for lower in lowers[1:]), + None, + ] + + +@pytest.mark.parametrize( + "facts", + [ + # A cent missing between bands, and two bands sharing one. + [_pension_fact(1, 12498), _pension_fact(12500, None)], + [_pension_fact(1, 12500), _pension_fact(12500, None)], + # An open band below the top, a closed top, a floor above one cent. + [_pension_fact(1, None), _pension_fact(12500, None)], + [_pension_fact(1, 12499), _pension_fact(12500, 24999)], + [_pension_fact(100, 12499), _pension_fact(12500, None)], + # A label that disagrees with its constraints. + [_pension_fact(1, 12499, "0,01 - 125,99"), _pension_fact(12500, None)], + # The review's mutant: a band that ends below its floor, with the next + # band starting one cent above that end, so adjacency alone holds. + [ + _pension_fact(1, 24999), + _pension_fact(25000, 24999), + _pension_fact(25000, None), + ], + # The same mutant on the first band, which ends at cent 0. + [_pension_fact(1, 0), _pension_fact(1, None)], + ], +) +def test_pension_band_gaps_and_label_drift_refuse(facts): + with pytest.raises(ValueError, match="SFPD"): + generator._pension_bands(facts) + + +@settings(max_examples=200, deadline=None, suppress_health_check=[HealthCheck.too_slow]) +@given( + cuts=st.lists( + st.integers(min_value=2, max_value=10**7), min_size=2, max_size=30, unique=True + ), + data=st.data(), +) +def test_pension_bands_accept_only_strictly_rising_floors(cuts, data): + """Property: every ladder the reader accepts has non-empty bands. + + Start from a valid ladder. Sometimes end one closed band some cents below + its floor, and start the next band one cent above that end, so that pair + still looks adjacent. The reader must either refuse, or return bands whose + floors rise strictly, each below its upper edge. + """ + + lowers = [1, *sorted(cuts)] + lasts = [following - 1 for following in lowers[1:]] + [None] + if data.draw(st.booleans()): + index = data.draw(st.integers(min_value=0, max_value=len(lowers) - 2)) + drop = data.draw(st.integers(min_value=0, max_value=lowers[index] - 1)) + lasts[index] = lowers[index] - 1 - drop + lowers[index + 1] = lasts[index] + 1 + facts = [ + _pension_fact(lower, last) for lower, last in zip(lowers, lasts, strict=True) + ] + try: + tiled = generator._pension_bands(facts) + except ValueError as error: + assert "SFPD" in str(error) + return + floors = [band[0] for band in tiled] + assert floors == sorted(set(floors)) + assert all(band[1] is None or band[0] < band[1] for band in tiled) + + @functools.cache def _typed_layers(): resolved = load_country_spec(_SPEC).resolved_spec @@ -964,7 +1788,7 @@ def _synthetic_fact(selector, value, member=None): "dimension_value_labels": { name: {str(item): str(item)} for name, item in dimensions.items() }, - "assertion": selector["assertion"], + "assertion": selector.get("assertion", "observation"), "value": value, "aggregation": {"method": "sum"}, "label": "Synthetic resolver probe", @@ -1330,7 +2154,7 @@ def test_profiles_name_the_factor_context_and_keep_ageing_deferred(): ] -def test_only_demography_and_commune_support_are_active(): +def test_only_demography_commune_support_and_wage_classes_are_active(): active = { reference_set: { row["metadata"]["contract_target_id"] @@ -1341,7 +2165,7 @@ def test_only_demography_and_commune_support_are_active(): } assert active == { "calibration": {"statbel_population_by_region_sex_age"}, - "precal": {"statbel_population_by_commune"}, + "precal": {"statbel_population_by_commune", generator.WAGE_CONTRACT}, "holdout": set(), } @@ -1364,9 +2188,24 @@ def test_belgium_still_refuses_to_activate(): validate_transport_activation(spec) for missing in ("benefit_unit_rule.json", "axiom_rules_bindings.json"): assert missing in str(error.value) + # The pension surface rows are parked, so each is a named gap. + for row in _rows("precal"): + parked = row["metadata"]["activation_status"] != "active" + assert (f"precal_references.{row['name']}" in str(error.value)) == parked assert not (_SPEC / "transport_graph.json").exists() assert not (_SPEC / "receipt_contract.json").exists() assert not (_SPEC / "currency_bridge.json").exists() + # Only the surface rows' metadata and the inventory name the band resource. + readers = { + path.name + for path in _SPEC.glob("*.json") + if path.name != SURFACES and SURFACES in path.read_text() + } + assert readers == { + "country_package.json", + "precal_references.json", + "reference_inventory.json", + } def test_b1_stays_inactive_with_named_failed_checks(): @@ -1488,7 +2327,11 @@ def by_record_set(artifact): def _matched(selector, by_record_set): - pool = by_record_set.get(selector.get("record_set_id"), []) + pool = [ + fact + for record_set in _listed(selector.get("record_set_id")) + for fact in by_record_set.get(record_set, []) + ] return [fact for fact in pool if fact_matches_selector(fact, selector)] @@ -1538,8 +2381,10 @@ def test_every_selector_resolves_to_one_fact_or_its_declared_set( base = _matched(row["ledger_selector"], by_record_set) pins = row["ledger_selector"].get("dimension_values", {}) rosters = [value for value in pins.values() if isinstance(value, list)] - expected = len(rosters[0]) if rosters else 1 + expected = math.prod(len(roster) for roster in rosters) assert len(base) == expected, row["name"] + assert len({fact["aggregate_fact_key"] for fact in base}) == expected + assert _declared_members(row) in {None, expected}, row["name"] for operand in row.get("value_operands", [])[1:]: selector = {k: v for k, v in operand.items() if k != "role"} assert len(_matched(selector, by_record_set)) == 1, row["name"] @@ -1567,6 +2412,9 @@ def test_every_selector_resolves_to_one_fact_or_its_declared_set( total * float(numerator["value"]) / float(denominator["value"]), rel=1e-12, ) + elif row.get("value_operation") == "sum": + assert spec.metadata["ledger_member_fact_count"] == str(expected) + assert spec.value == math.fsum(float(fact["value"]) for fact in base) else: assert spec.value == float(base[0]["value"]) @@ -1775,3 +2623,290 @@ def test_a_changed_reviewed_operand_refuses_generation(artifact, table, key, per message = "Reviewed RSZ operand" with patch, pytest.raises(ValueError, match=message): generator.build_reference_documents(artifact) + + +WAGE_WORKERS = [100_457, 1_218_251, 1_182_699, 1_066_243, 369_203] +PENSION_TOTAL_KEY = "ledger.aggregate_fact.v2:f9dc8ab69a3b6cbcc0db3f68" +# A test fixture for the open top band, never a Belgian method value: the +# tail shape is d1902 choice 24 (wages), and no choice yet names the pension tail. +PARETO_FIXTURE = {"method": "pareto", "alpha": 2.0} + + +def _quarter_cells(by_record_set, spec): + return [ + fact + for facts in by_record_set.values() + for fact in facts + if fact["layout"].get("record_set_spec_id") == spec + and fact["period"]["value"] == generator.WAGE_PERIOD + and fact["observed_measure"]["source_measure_id"] == generator.WAGE_MEASURE + ] + + +def _by_class(facts): + totals = {} + for fact in facts: + label = fact["dimensions"][generator.WAGE_CLASS] + totals[label] = totals.get(label, 0) + fact["value"] + return totals + + +def test_wage_classes_resolve_to_24_disjoint_members(by_record_set): + rows = _surface_rows(_documents())["wages"] + seen, workers = set(), [] + for row in rows: + facts = _matched(row["ledger_selector"], by_record_set) + keys = {fact["aggregate_fact_key"] for fact in facts} + assert len(facts) == len(keys) == 24, row["name"] + assert keys == set(_keys(_entry(_reads(), row["name"])["base_facts"])) + assert not keys & seen + seen |= keys + assert ( + len( + { + (f["dimensions"]["rsz.age_class"], f["dimensions"]["rsz.sex"]) + for f in facts + } + ) + == 24 + ) + assert { + ( + fact["layout"]["record_set_spec_id"], + fact["observed_measure"]["source_measure_id"], + fact["entity"]["name"], + fact["observed_measure"]["unit"], + fact["period"]["value"], + ) + for fact in facts + } == {(generator.WAGE_SPEC, "employed_workers", "person", "count", "2026-Q1")} + workers.append(sum(fact["value"] for fact in facts)) + assert workers == WAGE_WORKERS + assert sum(workers) == 3_936_853 + table = _quarter_cells(by_record_set, generator.WAGE_SPEC) + unknown = [ + fact + for fact in table + if fact["dimensions"][generator.WAGE_CLASS] == generator.WAGE_UNKNOWN_CLASS + ] + assert len(unknown) == 24 and not {f["aggregate_fact_key"] for f in unknown} & seen + assert sum(fact["value"] for fact in unknown) == 191_700 + assert sum(fact["value"] for fact in table) == 4_128_553 == sum(workers) + 191_700 + evidence = _document("reference_inventory.json")["quantile_surfaces"]["wages"] + assert [row["workers"] for row in evidence["classes"]] == WAGE_WORKERS + assert _keys(evidence["unknown_pay"]["facts"]) == sorted( + fact["aggregate_fact_key"] for fact in unknown + ) + assert (evidence["known_pay_workers"], evidence["table_workers"]) == ( + 3_936_853, + 4_128_553, + ) + # Diagnostic: T7 crosses activity and status, and agrees class by class. + t7 = _by_class(_quarter_cells(by_record_set, generator.WAGE_CROSS_CHECK_SPEC)) + assert t7 == _by_class(table) + assert evidence["t7_cross_check"]["workers_by_class"] == { + label: float(value) for label, value in sorted(t7.items()) + } + assert evidence["t7_cross_check"]["equals_t17_by_class"] is True + + +def test_each_wage_member_cell_is_one_of_its_row_cells(by_record_set): + """The cell a holdout pinning a member builds is the row's; the rest hold no fact.""" + + for row in _surface_rows(_documents())["wages"]: + record_sets = row["ledger_selector"]["record_set_id"] + # A cell names its record set, so only that record set's facts can fill it. + filled = { + cell + for record_set in record_sets + for fact in by_record_set[record_set] + for cell in _row_cells({"ledger_selector": generator._selector(fact)}) + } + own = { + cell + for fact in _matched(row["ledger_selector"], by_record_set) + for cell in _row_cells({"ledger_selector": generator._selector(fact)}) + } + assert len(own) == 24 and own <= _row_cells(row) + assert not (_row_cells(row) - own) & filled + + +def test_pension_bands_sum_to_their_published_total(by_record_set): + rows = _surface_rows(_documents())["legal_pensions"] + resolved = [_matched(row["ledger_selector"], by_record_set) for row in rows] + assert all(len(facts) == 1 for facts in resolved) + bands = [facts[0] for facts in resolved] + group = by_record_set[generator.PENSION_RECORD_SET] + (total,) = [ + fact for fact in group if fact["aggregate_fact_key"] == PENSION_TOTAL_KEY + ] + assert total["dimensions"][generator.PENSION_BAND] == generator.PENSION_TOTAL_LABEL + assert sum(fact["value"] for fact in bands) == total["value"] == 2_449_233 + # Every recipient band of group 1 is read once; the total never is. + assert {fact["aggregate_fact_key"] for fact in bands} == { + fact["aggregate_fact_key"] for fact in group if fact is not total + } + expenditure = by_record_set[ + "sfpd.amount_bands.jan2025.group1.monthly_expenditure_eur" + ] + assert expenditure and not {fact["aggregate_fact_key"] for fact in expenditure} & { + fact["aggregate_fact_key"] for fact in bands + } + # The band document's edges are Chronicle's bounds, tiled half-open. + tiled = generator._pension_bands(bands) + surface = _document(SURFACES)["legal_pensions"]["band_document"]["bands"] + assert [ + ( + generator._number(lower), + None if upper is None else generator._number(upper), + ) + for lower, upper, *_ in tiled + ] == [(band["lower"], band["upper"]) for band in surface] + evidence = _document("reference_inventory.json")["quantile_surfaces"] + assert evidence["legal_pensions"]["total_fact"]["aggregate_fact_key"] == ( + PENSION_TOTAL_KEY + ) + assert [row["recipients"] for row in evidence["legal_pensions"]["bands"]] == [ + float(fact["value"]) for fact in bands + ] + entries = {entry["name"]: entry for entry in _reads()} + assert { + entries[row["name"]]["partition_total"]["semantic_fact_key"] for row in rows + } == {total["semantic_fact_key"]} + + +def _compiled_surface(artifact, by_record_set, rows): + """The decoded target surface a quantile-map node would receive for rows.""" + + precal = _document(SETS["precal"]) + document = {key: precal[key] for key in REFERENCE_DOCUMENT_KEYS if key in precal} + document["target_references"] = rows + references = parse_reference_document(document, country="be") + needed = { + fact["aggregate_fact_key"]: fact + for reference in references + for selector in reference_fact_selectors(reference) + for fact in _matched(selector, by_record_set) + } + registry = compile_ledger_target_references( + needed.values(), references, country="be" + ) + payload = encode_target_surface( + registry, + references, + references_sha256=reference_document_sha256(document), + facts={ + "facts_sha256": artifact.facts_sha256, + "manifest_sha256": artifact.manifest_sha256, + "n_facts": len(artifact.facts), + }, + ) + return decode_target_surface(payload) + + +@pytest.mark.parametrize( + ("surface", "counts"), + [("wages", WAGE_WORKERS), ("legal_pensions", None)], +) +def test_surfaces_compile_into_shares_the_quantile_map_takes( + artifact, by_record_set, surface, counts +): + rows = _surface_rows(_documents())[surface] + if surface == "legal_pensions": + rows = [_executable(row) for row in rows] # parked until rank_only lands + compiled = _compiled_surface(artifact, by_record_set, rows) + entry = _document(SURFACES)[surface] + bands = _surface_bands(entry["band_document"], compiled, unit="person") + values = [spec.value for spec in compiled.registry.specs] + if counts is not None: + assert values == counts + shares = [band["share"] for band in bands] + assert all(share > 0 for share in shares) + assert math.isclose(math.fsum(shares), 1, rel_tol=0, abs_tol=1e-12) + assert shares == [value / math.fsum(values) for value in values] + assert [(band["lower"], band["upper"]) for band in bands] == [ + (band["lower"], band["upper"]) for band in entry["band_document"]["bands"] + ] + donors = np.geomspace(1, 10**6, 400) + mapped = quantile_map( + donors, np.ones_like(donors), bands, interpolation=PARETO_FIXTURE + ) + assert np.all(np.diff(mapped) > 0) and mapped[0] >= bands[0]["lower"] + # Documented limit: uniform interpolation refuses the open top band. + with pytest.raises(ValueError, match="Uniform interpolation requires finite"): + quantile_map(donors, np.ones_like(donors), bands, interpolation="uniform") + + +def test_jobs_counts_pass_the_kernel_check_but_not_the_surface_check( + artifact, by_record_set +): + """_surface_bands can't tell T17's jobs from its employed workers; this test can.""" + + documents = copy.deepcopy(_documents()) + rows = _surface_rows(documents)["wages"] + for row in rows: + selector = row["ledger_selector"] + selector["source_measure_id"], selector["source_concept"] = "jobs", "rsz.jobs" + selector["record_set_id"] = [ + name.replace(".employed_workers", ".jobs") + for name in selector["record_set_id"] + ] + assert len(_matched(selector, by_record_set)) == 24 + compiled = _compiled_surface(artifact, by_record_set, rows) + bands = _surface_bands( + _document(SURFACES)["wages"]["band_document"], compiled, unit="person" + ) + assert [spec.value for spec in compiled.registry.specs] != WAGE_WORKERS + assert len(bands) == 5 + assert { + kind for kind, _ in _surface_violations(documents, _document(SURFACES)) + } == {"wage_cells"} + + +@pytest.mark.parametrize( + ("change", "message"), + [ + ("relabel_a_wage_cell", "daily-wage classes changed"), + ("drop_a_wage_cell", "not one cell per age and sex"), + ("move_a_wage_cell_to_the_other_sex_set", "not one cell per age and sex"), + ("drop_a_pension_band", "leaves a gap or overlap"), + ("change_a_pension_band_count", "sum to their published total"), + ("change_a_pension_band_bound", "disagrees with its constraints"), + ], +) +def test_a_changed_surface_fact_refuses_generation(artifact, change, message): + facts = list(artifact.facts) + + def first(record_set, label=None): + return next( + index + for index, fact in enumerate(facts) + if fact["layout"].get("record_set_id") == record_set + and (label is None or label in fact["dimensions"].values()) + ) + + wage = first(WAGE_MEMBER["record_set_id"], "-20") + band = first(generator.PENSION_RECORD_SET, "125,00 - 249,99") + if change == "relabel_a_wage_cell": + facts[wage] = copy.deepcopy(facts[wage]) + facts[wage]["dimensions"][generator.WAGE_CLASS] = "< 100" + elif change == "drop_a_wage_cell": + del facts[wage] + elif change == "move_a_wage_cell_to_the_other_sex_set": + facts[wage] = copy.deepcopy(facts[wage]) + facts[wage]["layout"]["record_set_id"] = ( + "rsz.t17.2026Q1.1188cc8134270812.employed_workers" + ) + elif change == "drop_a_pension_band": + del facts[band] + elif change == "change_a_pension_band_count": + facts[band] = {**facts[band], "value": facts[band]["value"] + 1} + else: + facts[band] = copy.deepcopy(facts[band]) + for row in facts[band]["universe_constraints"]["constraints"]: + if row["variable"] == generator.PENSION_AMOUNT and row["operator"] == "<=": + row["value"] = 249.98 + inventory = generator.Inventory(facts) + with pytest.raises(ValueError, match=message): + generator.wage_surface_references(inventory) + generator.pension_surface_references(inventory) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py b/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py index f33ab186d0..710c1b5918 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_country_spec.py @@ -527,6 +527,7 @@ def test_loads_with_every_declared_resource(self, spec) -> None: "target_references.json", "precal_references.json", "holdout_references.json", + "quantile_surfaces.json", "reference_aging.json", "reference_intervals.json", "reference_inventory.json", 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 61d8fd4d31..0d35447f57 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 @@ -224,6 +224,7 @@ def test_be_generation_zero_views_still_come_from_the_country_spec_seam() -> Non "geography_spine.json", "holdout_references.json", "precal_references.json", + "quantile_surfaces.json", "reference_aging.json", "reference_intervals.json", "reference_inventory.json", diff --git a/packages/microcosm-build/tests/golden/be_country_spec.json b/packages/microcosm-build/tests/golden/be_country_spec.json index 96047f95be..5d9d71e55e 100644 --- a/packages/microcosm-build/tests/golden/be_country_spec.json +++ b/packages/microcosm-build/tests/golden/be_country_spec.json @@ -1,6 +1,6 @@ { "country": "be", - "fingerprint": "e4ac1c718e9dfcc120302584eda17ada620580e808d7a73aabe0fa691efee386", + "fingerprint": "2a8d7b012245e62d3e906ebf70eb7952bb1f581185b0ef073c39a7bf139f4030", "gate_ids": [ "calibration_per_family_fit", "national_and_nuts1_admin_aggregates", @@ -29,14 +29,15 @@ }, "resource_hashes": { "chronicle_feed.json": "71f3967cefa12d8ad6c4b955547bfc37e33183ee839b3edf3a43e0cb72559030", - "country_package.json": "d6ec55828ac4fe5b4754b0727c0630f7720ad1aff0624d076c55ba8ed68dcfe1", + "country_package.json": "b698d0a0cb99deb9071451f790915f054d02970aa8a544cac6865860cf60f386", "gates.json": "85c07f713168058a081b40cf94da6a33035108ba7807e04818486032fb2ad580", "geography_spine.json": "090b83a4fa511e691b8f1486bc4188e4170cf9d4a1239e7418d33d5020ceca50", "holdout_references.json": "c9d32204b4c6364a95fcab066cbbc8b1b99dd49ef608e72c99009f01c7d1c942", - "precal_references.json": "acd7904779b34bca841686fa6000c5cb57db9a031638e021f59ba348f771de63", + "precal_references.json": "321bd4bd675b80c2e3241e19346fb191b72c8a0c101080dca27bae061c3edd89", + "quantile_surfaces.json": "15405e47850ab9f1de1b953f524df9ea605c451311f6e19a06b8dd0932df3724", "reference_aging.json": "e1eb7a4e5abc6aad77b822bf91b09ad1de0a22d349ee39b63b8bb787bd036404", "reference_intervals.json": "5c13dc32257d9d3c9b5cbbd14b79c229bbeb7037671778fdb8b09042693bb562", - "reference_inventory.json": "4f19968e175ed87dc985b6b6a5ec55e384f2d7c807922996950db35006a54444", + "reference_inventory.json": "7aeab0e8ff01755238198f266fabe66bd939427f75b77e1954a0e6e2bd085850", "reference_profiles.json": "1f7eb7f7a5bde2484b423e12835c9ef5eb8351599c29d836e35a910897ead52a", "release_contract.json": "916d8cba095d05ee5bc0c3d1b8e165eb1cf22867b91f0adac01533448b394730", "source_stages.json": "3d0a362345894dc6ea230ebed7fec7ff99a972879dc60c06001635c1b4a1ec47", @@ -60,6 +61,7 @@ "geography_spine.json", "holdout_references.json", "precal_references.json", + "quantile_surfaces.json", "reference_aging.json", "reference_intervals.json", "reference_inventory.json", diff --git a/tools/generate_be_target_references.py b/tools/generate_be_target_references.py index fe419f0c59..2d4f36e2a2 100644 --- a/tools/generate_be_target_references.py +++ b/tools/generate_be_target_references.py @@ -3,9 +3,10 @@ Run with ``BE_CHRONICLE_ARTIFACT`` or ``--artifact``. References carry selectors only: observations stay in Chronicle. The separate inventory resource records the diagnostics the method card asks to publish (ageing ratios, stand-in gaps, the -B.1 checks) and every exclusion. Each choice that shapes numbers is a proposal -of the Belgian method card (BE-MC0 to BE-MC6), pending Max's ruling d1902; -nothing here publishes a number, and Belgium stays inactive. +B.1 checks, the counts behind the quantile surfaces) and every exclusion, and +quantile_surfaces.json holds BE-MC3's band documents. Each choice that shapes +numbers is a proposal of the Belgian method card (BE-MC0 to BE-MC6), pending +Max's ruling d1902; nothing here publishes a number, and Belgium stays inactive. ``--pin-feed SOURCE_COMMIT`` rewrites ``chronicle_feed.json`` from the loaded artifact's verified identity before generating; use it only when Chronicle @@ -269,6 +270,50 @@ "commune": ("nis_2025", "vintage:be_nis_2025"), } TRANSPORTED_INPUTS = {"employment_income", "nonfarm_self_employment_income"} +# BE-MC3's quantile surfaces (B4a). RSZ T17 counts employees at the end of +# 2026-Q1 by daily-wage class, age and sex; each class spans one record set per +# sex, so a class's row sums its 24 age and sex cells. T17 prints its classes as +# bare labels, so their edges are reviewed here, in EUR a day: each class runs +# from its printed lower bound up to the next class's lower bound. +WAGE_SPEC = "rsz.t17.daily_wage_class.v1" +WAGE_CROSS_CHECK_SPEC = "rsz.t7.daily_wage_class.v1" +WAGE_PERIOD = "2026-Q1" +WAGE_MEASURE = "employed_workers" +WAGE_CLASS = "rsz.daily_wage_class" +WAGE_UNKNOWN_CLASS = "Onbekend-Inconnu" +WAGE_CLASSES = ( + ("lt100", "<100", 0, 100), + ("100_149", "100 - 149", 100, 150), + ("150_199", "150 - 199", 150, 200), + ("200_299", "200 - 299", 200, 300), + ("300_plus", ">= 300", 300, None), +) +WAGE_CONTRACT = "rsz_employed_workers_by_daily_wage_class" +# SFPD group 1: every legal-pension recipient (employees and self-employed), +# all careers, categories and sexes, by gross monthly amount on 1 January 2025. +# Chronicle publishes each band's bounds as universe constraints. +PENSION_RECORD_SET = "sfpd.amount_bands.jan2025.group1.recipients" +PENSION_BAND = "sfpd.monthly_amount_band" +PENSION_AMOUNT = "sfpd.monthly_amount" +PENSION_TOTAL_LABEL = "Totaal" +PENSION_COHORT = { + "sfpd.career": "Alle loopbanen", + "sfpd.pension_category": "Totaal", + "sfpd.population": "Pensioengerechtigden (werknemers en zelfstandigen)", + "sfpd.sex": "Mannen en vrouwen", +} +PENSION_CONTRACT = "sfpd_legal_pension_recipients_by_monthly_amount_band" +PENSION_STATUS = "requires_pension_route_d1902" +PENSION_REASON = ( + "B4a: SFPD's January 2025 amount bands are BE-MC3's legal-pension quantile " + "surface, but nothing may read them until shared rank_only support lands. " + "The shared transport rule drops the donor's public pension, so a shared " + "change, still to be agreed with the NZ hub, must keep the donor's receipt " + "for ranking only, isolated from destination income, before Belgian amounts " + "are assigned. d1902 also settles the pension route and how these monthly " + "amounts are annualized." +) +SURFACE_RESOURCE = "quantile_surfaces.json" PROVIDERS = { "statbel": "Statbel", "fpb": "Federal Planning Bureau", @@ -276,10 +321,13 @@ "onem": "National Employment Office", "eurostat": "Eurostat", "nbb": "National Bank of Belgium", + "sfpd": "Federal Pension Service", } CATEGORIES = { "statbel.demography": ("statbel", "Demography"), "statbel.geography_support": ("statbel", "Geography support"), + "onss.wage_distribution": ("onss", "Daily-wage distribution"), + "sfpd.pension_distribution": ("sfpd", "Legal-pension amount distribution"), "statbel.fiscal_income": ("statbel", "Fiscal income"), "statbel.income_tax": ("statbel", "Assessed income tax"), "onss.social_security": ("onss", "Social security contributions"), @@ -1047,6 +1095,543 @@ def precal_references(communes): return rows, labels +def _decimal(value): + return Fraction(_token(value)) + + +def _number(value): + """An exact decimal edge as a JSON number: an integer when it is whole.""" + + return int(value) if value.denominator == 1 else float(value) + + +def _member_selector(facts): + """One selector that reads exactly ``facts`` through rosters, without keys. + + The members must agree on every scalar field. Dimensions that vary across + them become rosters and their record sets a list; the roster product must + equal the member count, so the rosters name no cell outside the members. + The resolved-read entry lists the members' keys. + """ + + selector = _selector(facts[0], pin_key=False) + varying = {"record_set_id", "dimension_values"} + for fact in facts[1:]: + other = _selector(fact, pin_key=False) + if {key: other[key] for key in other if key not in varying} != { + key: selector[key] for key in selector if key not in varying + }: + raise ValueError("Summed members disagree outside their dimension values") + selector["record_set_id"] = sorted( + {fact["layout"]["record_set_id"] for fact in facts} + ) + product = 1 + for name in selector["dimensions"]: + values = sorted({fact["dimensions"][name] for fact in facts}, key=str) + selector["dimension_values"][name] = values if len(values) > 1 else values[0] + product *= len(values) + keys = {fact["aggregate_fact_key"] for fact in facts} + if len(keys) != len(facts) or product != len(facts): + raise ValueError("Summed members must fill their roster product exactly once") + return selector + + +def _wage_classes(inventory): + """Return T17's cells at WAGE_PERIOD by class, each class one cell per age and sex. + + The quarter's labels must be exactly the reviewed classes plus unknown pay, + and each class must lie in one record set per sex. + """ + + cells = inventory.cells( + spec=WAGE_SPEC, measure=WAGE_MEASURE, geography="BE", period=WAGE_PERIOD + ) + expected = {label for _, label, _, _ in WAGE_CLASSES} | {WAGE_UNKNOWN_CLASS} + if {fact["dimensions"].get(WAGE_CLASS) for fact in cells} != expected: + raise ValueError(f"RSZ T17's {WAGE_PERIOD} daily-wage classes changed") + if {tuple(sorted(fact["dimensions"])) for fact in cells} != { + ("rsz.age_class", WAGE_CLASS, "rsz.sex") + }: + raise ValueError("RSZ T17 cells must carry exactly age, sex and wage class") + ages = sorted({fact["dimensions"]["rsz.age_class"] for fact in cells}) + sexes = sorted({fact["dimensions"]["rsz.sex"] for fact in cells}) + grid = sorted((age, sex) for age in ages for sex in sexes) + by_class = {} + for label in sorted(expected): + members = [ + _belgian(fact) for fact in cells if fact["dimensions"][WAGE_CLASS] == label + ] + record_sets = {} + for fact in members: + record_sets.setdefault(fact["layout"]["record_set_id"], set()).add( + fact["dimensions"]["rsz.sex"] + ) + if ( + sorted( + (fact["dimensions"]["rsz.age_class"], fact["dimensions"]["rsz.sex"]) + for fact in members + ) + != grid + or len(record_sets) != len(sexes) + or any(len(owned) != 1 for owned in record_sets.values()) + or any(not name.endswith(f".{WAGE_MEASURE}") for name in record_sets) + or any( + fact["entity"]["name"] != "person" + or fact["observed_measure"]["unit"] != "count" + or fact["period"]["type"] != "quarter" + or fact["assertion"] != "observation" + for fact in members + ) + ): + raise ValueError(f"RSZ T17 class {label!r} is not one cell per age and sex") + by_class[label] = members + return by_class, ages, sexes + + +def wage_surface_references(inventory): + """Five precal rows, one per known-pay class, each summing its 24 cells.""" + + by_class, ages, sexes = _wage_classes(inventory) + rows = [] + for slug, label, lower, upper in WAGE_CLASSES: + members = by_class[label] + row = _reference( + members[0], + name=f"{WAGE_CONTRACT}__{slug}", + contract=WAGE_CONTRACT, + category="onss.wage_distribution", + entity="person", + measure="people", + family="wage_distribution", + reference_set="precal", + status="active", + method_card="BE-MC3", + measure_kind="prepared_column", + ) + row["ledger_selector"] = _member_selector(members) + row["value_operation"] = "sum" + row["expected_member_count"] = len(members) + row["period_match_policy"] = "exact" + row["metadata"].update( + { + "precal_use": "quantile_surface:wages", + "quantile_surface_resource": SURFACE_RESOURCE, + "daily_wage_class": label, + "daily_wage_lower_eur": str(lower), + "daily_wage_upper_eur": "open" if upper is None else str(upper), + "ageing": "none: quarter-end stock on 31 March 2026", + "source_snapshot": "RSZ/ONSS employees at the end of 2026-Q1", + } + ) + rows.append(row) + labels = { + WAGE_CONTRACT: ( + "RSZ/ONSS employees on 31 March 2026 by daily-wage class, summed over " + "age and sex (wage quantile surface)" + ) + } + return rows, labels, {"by_class": by_class, "ages": ages, "sexes": sexes} + + +_PENSION_LABEL = re.compile( + r"(?P[0-9.]+,[0-9]{2})(?: - (?P[0-9.]+,[0-9]{2})| en >)" +) + + +def _printed_eur(text): + return Fraction(text.replace(".", "").replace(",", ".")) + + +def _pension_bands(facts): + """Read SFPD's bands from Chronicle's universe constraints, tiled half-open. + + Chronicle bounds each band lower <= amount <= upper in euro cents, and the + top band below only. Each surface band runs from its lower bound to the + next band's, which must sit exactly one cent above its upper bound; the + printed label must state the same bounds. No band may end below its lower + bound, so the floors rise strictly and no surface band is empty. + """ + + cent = Fraction(1, 100) + bands = [] + for fact in facts: + label = fact["dimensions"][PENSION_BAND] + bounds = {} + for row in fact["universe_constraints"]["constraints"]: + if row["variable"] != PENSION_AMOUNT: + continue + if ( + row.get("unit") != "eur" + or row["operator"] not in {">=", "<="} + or row["operator"] in bounds + ): + raise ValueError(f"SFPD band {label!r} has an unexpected bound") + bounds[row["operator"]] = _decimal(row["value"]) + printed = _PENSION_LABEL.fullmatch(label) + if ( + printed is None + or bounds.get(">=") != _printed_eur(printed["lower"]) + or bounds.get("<=") + != (None if printed["upper"] is None else _printed_eur(printed["upper"])) + ): + raise ValueError(f"SFPD band {label!r} disagrees with its constraints") + bands.append((bounds[">="], bounds.get("<="), label, fact)) + bands.sort(key=lambda band: band[0]) + if not bands or bands[0][0] != cent: + raise ValueError("SFPD's first band must start at one cent") + tiled = [] + for index, (lower, last_cent, label, fact) in enumerate(bands): + following = bands[index + 1][0] if index + 1 < len(bands) else None + if last_cent is not None and last_cent < lower: + raise ValueError(f"SFPD band {label!r} ends below its lower bound") + if (following is None) != (last_cent is None) or ( + following is not None and last_cent + cent != following + ): + raise ValueError(f"SFPD band {label!r} leaves a gap or overlap") + tiled.append((lower, following, last_cent, label, fact)) + return tiled + + +def _edge_text(edge): + return str(edge) if edge.denominator == 1 else str(float(edge)) + + +def _edge_slug(edge): + return _edge_text(edge).replace(".", "_") + + +def pension_surface_references(inventory): + """Twenty-six parked precal rows, one per SFPD group 1 amount band.""" + + facts = inventory.cells(PENSION_RECORD_SET, measure="recipients", geography="BE") + for fact in facts: + _belgian(fact) + dimensions = dict(fact["dimensions"]) + dimensions.pop(PENSION_BAND, None) + if ( + dimensions != PENSION_COHORT + or fact["entity"]["name"] != "person" + or fact["observed_measure"]["unit"] != "count" + or fact["period"] != {"type": "month", "value": "2025-01"} + or fact["assertion"] != "observation" + ): + raise ValueError("SFPD group 1 left its reviewed cohort") + (total,) = [ + fact + for fact in facts + if fact["dimensions"][PENSION_BAND] == PENSION_TOTAL_LABEL + ] + bands = _pension_bands([fact for fact in facts if fact is not total]) + if len(bands) != 26 or sum( + (_value(band[-1]) for band in bands), Fraction() + ) != _value(total): + raise ValueError("SFPD's 26 bands must sum to their published total") + rows = [] + for lower, upper, _, label, fact in bands: + row = _reference( + fact, + name=( + f"{PENSION_CONTRACT}__{_edge_slug(lower)}_" + + ("plus" if upper is None else f"to_{_edge_slug(upper)}") + ), + contract=PENSION_CONTRACT, + category="sfpd.pension_distribution", + entity="person", + measure="people", + family="pension_distribution", + reference_set="precal", + status=PENSION_STATUS, + method_card="BE-MC3", + measure_kind="prepared_column", + reason=PENSION_REASON, + ) + row["period_match_policy"] = "exact" + row["metadata"].update( + { + "precal_use": "quantile_surface:legal_pensions", + "quantile_surface_resource": SURFACE_RESOURCE, + "monthly_amount_band": label, + "band_lower_eur": _edge_text(lower), + "band_upper_eur": "open" if upper is None else _edge_text(upper), + "ageing": "none: beneficiary stock on 1 January 2025, monthly amounts", + "source_snapshot": "SFPD legal-pension beneficiaries on 1 January 2025", + } + ) + rows.append(row) + labels = { + PENSION_CONTRACT: ( + "SFPD legal-pension recipients (employees and self-employed) on " + "1 January 2025 by gross monthly amount band (pension quantile " + "surface, parked)" + ) + } + return rows, labels, {"bands": bands, "total": total} + + +def _surface_document(wage_rows, pension_rows, pensions): + """The band resource: each band_document is transport.quantile_map@1's bands.""" + + wage_bands = [ + (row["name"], label, lower, upper) + for row, (_, label, lower, upper) in zip(wage_rows, WAGE_CLASSES, strict=True) + ] + pension_bands = [ + (row["name"], label, lower, upper, last_cent) + for row, (lower, upper, last_cent, label, _) in zip( + pension_rows, pensions["bands"], strict=True + ) + ] + return { + "schema_version": 1, + "country": "be", + "generated_by": "tools/generate_be_target_references.py", + "description": ( + "BE-MC3's quantile-map surfaces (B4a), proposed pending d1902. Each " + "band_document is the bands parameter transport.quantile_map@1 takes " + "verbatim; its references name precal_references.json rows, which " + "compile into the target surface the kernel reads. Everything else " + "stays outside band_document, because the kernel refuses any key " + "beside its band lists. No graph reads this resource: Belgium has no " + "transport_graph.json and stays inactive. Counts stay in Chronicle; " + "reference_inventory.json records the evidence." + ), + "status": METHOD_CARD_STATUS, + "method_card_row": "BE-MC3", + "reference_resource": "precal_references.json", + "wages": { + "status": METHOD_CARD_STATUS, + "activation": ( + "Not read by any graph. Nothing may map donor wages onto these " + "edges until d1902 picks the annual-to-daily conversion and the " + "coverage rule (choices 21 to 23)." + ), + "ranked_entity": "person", + "donor_column": "employment_income", + "unit": "eur_per_day", + "source_period": WAGE_PERIOD, + "source": ( + "RSZ/ONSS quarterly labour-market tables, T17 (daily-wage class, " + f"age and sex), record set spec {WAGE_SPEC}, measure " + f"{WAGE_MEASURE}" + ), + "cohort": ( + "Employees registered with RSZ/ONSS at the end of the first " + "quarter of 2026, a quarter-end stock on 31 March 2026. " + "Chronicle's coverage note: it counts inbound cross-border " + "workers and leaves out posted workers and the self-employed. " + "BE-MC3 records that the classes rank normalized daily pay of the " + "main job, without bonuses, 13th month or double holiday pay. It " + "is not a distribution of resident earners over a year." + ), + "coverage": ( + "The five known-pay classes only. T17's unknown-pay class " + f"({WAGE_UNKNOWN_CLASS}) has no numeric interval and gets no " + "band, so the shares rank known pay only (d1902 choice 22)." + ), + "conversion": ( + "The donor's employment_income is annual gross pay from all " + "employee jobs, bonuses included; these edges are euros a day. " + "Nothing may map donor wages onto them until d1902 picks the " + "annual-to-daily conversion (choice 23)." + ), + "edge_closure": ( + "Left-closed: each class runs from its printed lower bound up to " + "the next class's lower bound, so '100 - 149' is [100, 150)." + ), + "top_band": ( + "Open from EUR 300 a day. Uniform interpolation refuses an open " + "top band; the tail is d1902 choice 24." + ), + "band_provenance": [ + { + "reference": name, + "printed_label": label, + "lower": lower, + "upper": upper, + } + for name, label, lower, upper in wage_bands + ], + "band_document": { + "bands": [ + {"lower": lower, "upper": upper, "reference": name} + for name, _, lower, upper in wage_bands + ] + }, + }, + "legal_pensions": { + "status": METHOD_CARD_STATUS, + "activation": ( + f"Parked: its references carry activation_status {PENSION_STATUS} " + "and refuse compilation until shared rank_only support lands and " + "d1902 settles the pension route (choice 25)." + ), + "ranked_entity": "person", + "donor_column": None, + "donor_column_note": ( + "None yet: the shared transport rule drops the donor's " + "public_pension_income, so no donor column carries pension ranks " + "until shared rank_only support keeps the receipt for ranking only." + ), + "unit": "eur_per_month", + "source_period": "2025-01", + "source": ( + "SFPD Jaarlijkse statistiek 2025, amount bands of group 1, record " + f"set {PENSION_RECORD_SET}" + ), + "cohort": ( + "Legal-pension beneficiaries of the employee and self-employed " + "schemes, all careers, pension categories and sexes, a stock on " + "1 January 2025." + ), + "coverage": ( + "Gross monthly payment. Includes beneficiaries residing abroad and " + "excludes public-sector pension amounts. The Totaal row and the " + "monthly_expenditure_eur measure are not bands." + ), + "annualization": ( + "Monthly euros, not annualized. Multiplying January by 12 repeats " + "one month's amount rather than observing an annual pension; it " + "is d1902's choice (25) and is not applied here." + ), + "edge_closure": ( + "Chronicle bounds each band lower <= amount <= upper in cents; each " + "surface band runs half-open to the next band's lower bound, one " + "cent above, so '0,01 - 124,99' is [0.01, 125)." + ), + "top_band": ( + "Open from EUR 3,125 a month. Uniform interpolation refuses an " + "open top band, and no d1902 choice yet names the pension tail." + ), + "band_provenance": [ + { + "reference": name, + "printed_label": label, + "source_lower_eur": _edge_text(lower), + "source_upper_eur": None + if last_cent is None + else _edge_text(last_cent), + "lower": _number(lower), + "upper": None if upper is None else _number(upper), + } + for name, label, lower, upper, last_cent in pension_bands + ], + "band_document": { + "bands": [ + { + "lower": _number(lower), + "upper": None if upper is None else _number(upper), + "reference": name, + } + for name, _, lower, upper, _ in pension_bands + ] + }, + }, + } + + +def _surface_evidence(inventory, wage_rows, wages, pension_rows, pensions): + """Counts behind the surfaces, so tests can close them without the feed.""" + + def workers(facts): + return sum((_value(fact) for fact in facts), Fraction()) + + by_class = wages["by_class"] + known = sum( + (workers(by_class[label]) for _, label, _, _ in WAGE_CLASSES), Fraction() + ) + unknown = workers(by_class[WAGE_UNKNOWN_CLASS]) + table = workers( + inventory.cells( + spec=WAGE_SPEC, measure=WAGE_MEASURE, geography="BE", period=WAGE_PERIOD + ) + ) + t7 = {} + for fact in inventory.cells( + spec=WAGE_CROSS_CHECK_SPEC, + measure=WAGE_MEASURE, + geography="BE", + period=WAGE_PERIOD, + ): + label = fact["dimensions"][WAGE_CLASS] + t7[label] = t7.get(label, Fraction()) + _value(fact) + total = pensions["total"] + band_sum = sum((_value(band[-1]) for band in pensions["bands"]), Fraction()) + return { + "resource": SURFACE_RESOURCE, + "wages": { + "record_set_spec_id": WAGE_SPEC, + "period": WAGE_PERIOD, + "measure": WAGE_MEASURE, + "age_classes": wages["ages"], + "sexes": wages["sexes"], + "members_per_class": len(wages["ages"]) * len(wages["sexes"]), + "classes": [ + { + "label": label, + "reference": row["name"], + "workers": float(workers(by_class[label])), + } + for row, (_, label, _, _) in zip(wage_rows, WAGE_CLASSES, strict=True) + ], + "unknown_pay": { + "label": WAGE_UNKNOWN_CLASS, + "workers": float(unknown), + "facts": _keyed(by_class[WAGE_UNKNOWN_CLASS], "aggregate_fact_key"), + }, + "known_pay_workers": float(known), + "table_workers": float(table), + "known_plus_unknown_equals_table": known + unknown == table, + "unknown_share_of_table": float(unknown / table), + "t7_cross_check": { + "record_set_spec_id": WAGE_CROSS_CHECK_SPEC, + "workers_by_class": { + label: float(t7[label]) for label in sorted(t7, key=str) + }, + "equals_t17_by_class": t7 + == {label: workers(facts) for label, facts in by_class.items()}, + "use": ( + "Diagnostic only: T7 crosses NACE 2025 activity, worker status " + "and sex; no reference reads it." + ), + }, + "measure_pin": ( + "employed_workers, never jobs: T17's jobs measure shares the " + "person entity, the count unit and the classes, so _surface_bands " + "cannot tell them apart; the generator and the package tests pin " + "the measure." + ), + }, + "legal_pensions": { + "record_set_id": PENSION_RECORD_SET, + "period": "2025-01", + "bands": [ + { + "label": label, + "reference": row["name"], + "recipients": float(_value(fact)), + } + for row, (_, _, _, label, fact) in zip( + pension_rows, pensions["bands"], strict=True + ) + ], + "band_recipients": float(band_sum), + "total_fact": { + "aggregate_fact_key": total["aggregate_fact_key"], + "label": PENSION_TOTAL_LABEL, + "recipients": float(_value(total)), + }, + "bands_sum_to_total": band_sum == _value(total), + "excluded": ( + "The Totaal row, which the bands sum to, and every " + "monthly_expenditure_eur fact. SFPD's other groups are not " + "stacked: groups 2 to 164 split group 1's population by career, " + "pension category and sex, and the FPD-beneficiary and IGO groups " + "count other beneficiary populations." + ), + }, + } + + def holdout_references(inventory, pairs): rows, labels = [], {} d51 = _eurostat( @@ -1639,7 +2224,14 @@ def factor_digest(declaration): def _matching(inventory, selector): - pool = inventory.by_record_set.get(selector["record_set_id"], []) + record_sets = selector["record_set_id"] + pool = [ + fact + for record_set in ( + record_sets if isinstance(record_sets, list) else [record_sets] + ) + for fact in inventory.by_record_set.get(record_set, []) + ] return [fact for fact in pool if fact_matches_selector(fact, selector)] @@ -1660,6 +2252,13 @@ def _partition_total(inventory, row): geography="BE", dimensions={"tax_return.rank_group": "all"}, ) + if row["metadata"]["contract_target_id"] == PENSION_CONTRACT: + return inventory.one( + PENSION_RECORD_SET, + measure="recipients", + geography="BE", + dimensions={**PENSION_COHORT, PENSION_BAND: PENSION_TOTAL_LABEL}, + ) return None @@ -1837,11 +2436,15 @@ def build_reference_documents(artifact, *, package_dir=SPEC): raise ValueError("Expected the 565 NIS 2025 communes") targets, target_labels = calibration_references(inventory, pairs, members) precal, precal_labels = precal_references(communes) + wage_rows, wage_labels, wages = wage_surface_references(inventory) + pension_rows, pension_labels, pensions = pension_surface_references(inventory) + precal += [*wage_rows, *pension_rows] + precal_labels |= wage_labels | pension_labels holdouts, holdout_labels = holdout_references(inventory, pairs) documents = {} description = { "calibration": "Belgian calibration references (reference set calibration), generated by tools/generate_be_target_references.py from the pinned Chronicle be feed. Selectors only: no observation is carried. Demography targets Statbel's 1 January 2026 population directly; every other row rolls a 2023-2025 fact to 2026 by a declared FPB June 2026 ratio pair or stays parked with a named reason. Method-card choices are proposed pending d1902. Belgium stays inactive.", - "precal": "Belgian pre-calibration references: Statbel commune population on 1 January 2025 as the atomic geography support mass, unaged (support shares). Identity only; no observation is carried.", + "precal": "Belgian pre-calibration references: Statbel commune population on 1 January 2025 as the atomic geography support mass, unaged (support shares), and BE-MC3's two quantile surfaces (B4a, quantile_surfaces.json). The wage surface is RSZ/ONSS T17's five known-pay daily-wage classes of employees at the end of 2026-Q1, each the sum of its 24 age and sex cells. The legal-pension surface is SFPD's 26 amount bands of January 2025, parked until shared rank_only support lands. Identity and sums only; no observation is carried.", "holdout": "Belgian held-out references: compared with the model, never fitted. No calibration-side node may read this resource. Every row is parked until its measure has a producer; JRC's EUROMOD-BE statistics are deferred while d1822 is open.", } for reference_set, rows, labels, filename, operations in ( @@ -1852,7 +2455,13 @@ def build_reference_documents(artifact, *, package_dir=SPEC): "target_references.json", ["identity", "rolled_forward_by_ratio"], ), - ("precal", precal, precal_labels, "precal_references.json", ["identity"]), + ( + "precal", + precal, + precal_labels, + "precal_references.json", + ["identity", "sum"], + ), ( "holdout", holdouts, @@ -1874,13 +2483,15 @@ def build_reference_documents(artifact, *, package_dir=SPEC): documents["reference_intervals.json"] = _interval_document(classes, members) documents["reference_profiles.json"] = _reference_profiles() documents["reference_aging.json"] = build_reference_aging(inventory, feed_identity) + documents[SURFACE_RESOURCE] = _surface_document(wage_rows, pension_rows, pensions) + surfaces = _surface_evidence(inventory, wage_rows, wages, pension_rows, pensions) documents["reference_inventory.json"] = _inventory( - inventory, pairs, documents, feed_pin, members, communes + inventory, pairs, documents, feed_pin, members, communes, surfaces ) return documents -def _inventory(inventory, pairs, documents, feed_pin, members, communes): +def _inventory(inventory, pairs, documents, feed_pin, members, communes, surfaces): counts = {} for filename in ( "target_references.json", @@ -1966,7 +2577,7 @@ def _inventory(inventory, pairs, documents, feed_pin, members, communes): ), ( "legal_pensions", - "FPB pension amounts and SFPD beneficiary counts and bands: legal pensions are not modelled until d1902 settles BE-MC3's pension route; the SFPD bands are B4's quantile-map surface.", + "FPB pension amounts and SFPD's other beneficiary tables: legal pensions are not modelled until d1902 settles BE-MC3's pension route. SFPD group 1's 26 amount bands are B4a's parked legal-pension surface rows in precal; its Totaal row and expenditure measure are not bands. Groups 2 to 164 split group 1's population, and the FPD-beneficiary and IGO groups count other beneficiary populations, so none is stacked on group 1.", ), ( "family_allowances", @@ -1974,7 +2585,7 @@ def _inventory(inventory, pairs, documents, feed_pin, members, communes): ), ( "rsz_wage_classes", - "RSZ daily-wage classes (B2f) are B4's wage quantile-map input under d1902, not a reference.", + "RSZ daily-wage classes (B2f): B4a's wage surface reads only T17's five known-pay classes of employed workers at 2026-Q1, as precal rows. Earlier quarters, the jobs and FTE measures, the unknown-pay class and T7 (a diagnostic in quantile_surfaces) are not read.", ), ( "usd_eur_rate", @@ -2121,6 +2732,7 @@ def _inventory(inventory, pairs, documents, feed_pin, members, communes): "Eurostat D61 social contributions paid contain the calibrated ONSS worker contributions.", "Eurostat D51A_C1 and D5 measure the same personal income tax that B.1 would calibrate once active.", "The A.1 stand-in is 98% net professional income, and its amount pair, FPB T11 total resources, contains gross wages, the wage holdout's own series.", + "RSZ T7's daily-wage cells at 2026-Q1 sum to the same class counts as the T17 wage surface, under different facts and semantic keys: a holdout on T7 would share the surface's information.", ], "grammar_gaps": [ "A national row composed from commune facts refuses for Belgium: the composed-geography path labels only UK areas (ledger_targets._geography_fallback_label), so CREATE's single national mass reference cannot be the commune sum.", @@ -2131,7 +2743,11 @@ def _inventory(inventory, pairs, documents, feed_pin, members, communes): "rolled_forward_by_ratio's series key treats every FPB annex row of one table as one series (same concept, entity, geography and empty dimensions); the generator and tests enforce row identity themselves.", "The typed vintage alias set admits only a layer's full id, its country-shortened id and its authority value, so Chronicle's NUTS_2024 label cannot be an alias of vintage:be_nuts1_2025; geography_vintage_bindings carries the mapping instead.", "The schema-1 target_profile drops B1's required_families, basis_periods, tolerance tiers and subnational vintage rule. Package tests restore required families, the vintage rule and each row's periods. Caseload tolerance moves from B1's 15% to BE-MC6's 5%, and the ONSS contribution row moves from B1's standard_admin_release 10% to 5%.", + "A selector cannot pair a record set with a dimension value, and T17 holds each daily-wage class in one record set per sex. Each wage row lists both record sets beside an age and a sex roster, so the package tests' cell check expands their product: 24 cells that exist and 24 that cannot. A list of the members' aggregate keys would bind each member without the artifact, but the package scan admits fact keys only as single strings, so the rosters stay key-free and the feed audit proves their members.", + "No shared code reads a rank-only input. Transport drops the donor's public_pension_income (TransportRule.DROP), and transport.quantile_map@1 ranks one column and overwrites that same column with the mapped amounts. So the SFPD surface rows are kept non-executable only by activation_status, and each one is a named activation gap.", + "Uniform interpolation refuses an open top band, and both surfaces' top bands are open; Pareto interpolation needs a declared alpha, and no shared mode scales the donor's own tail.", ], + "quantile_surfaces": surfaces, "exclusions": [{"id": name, "reason": reason} for name, reason in excluded], "resolved_reads": resolved_reads(inventory, documents), } From 067609938cd7dd98af3aaad4d1a3a1360c150c15 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Tue, 3 Nov 2026 04:36:55 -0500 Subject: [PATCH 63/67] Test each coarse row's labels against its committed native rows The E-G review's fix 3. Only the Chronicle feed, which CI doesn't load, checked R2C-16's membership, so a coarse row that lost a member label passed every feed-free test. The new test reads the committed income_diagnostic_references.json: each coarse row's labels equal, in order, the labels of the native rows its metadata.native_rows names, its selector otherwise equals theirs, and each measure's rows tile 50 to 244 once. Without the feed, the review's b05 member drop turns this test red and no other in test_nz_target_references.py, test_nz_reference_intervals.py or test_nz_spec_package.py (1 failed, 1237 passed, 42 skipped). Co-Authored-By: Claude Opus 5.5 --- .../shared/test_nz_target_references.py | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) 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 7714b2c888..3fb7e1d243 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 @@ -1345,3 +1345,43 @@ def test_each_coarse_band_lists_exactly_its_native_rows_labels(artifact): labels[measure, member] for member in members ] } + + +def test_each_coarse_row_selects_its_native_rows_committed_labels(): + """R2C-16 without the feed: membership checked against committed rows. + + Each coarse row's label list equals, in order, the committed labels of the + native rows its ``metadata.native_rows`` names, and its selector otherwise + equals theirs. For each measure the 12 bands' native rows tile rows 50 to + 244 once, in order. The feed audit above checks the same labels against the + feed, which CI doesn't load. + """ + native = { + row["name"]: row + for row in _document("income_diagnostic_references.json")[ + "diagnostic_references" + ] + } + prefixes = { + "count": "ird_taxable_income_people_by_band", + "money": "ird_taxable_income_total_by_band", + } + tiled = {kind: [] for kind in prefixes} + for row in (row for row in _rows() if row["family"] == "income"): + kind = row["metadata"]["reference_value_kind"] + members = row["metadata"]["native_rows"].split(",") + tiled[kind] += members + selector = dict(row["ledger_selector"]) + (labels,) = selector.pop("dimension_values").values() + expected = [] + for member in members: + member_selector = dict( + native[f"{prefixes[kind]}__{member}"]["ledger_selector"] + ) + del member_selector["aggregate_fact_key"] + (label,) = member_selector.pop("dimension_values").values() + assert selector == member_selector, (row["name"], member) + expected.append(label) + assert labels == expected, row["name"] + for kind, members in tiled.items(): + assert members == [f"row_{n}" for n in range(50, 245)], kind From 0506c9d63abd5ef31793be630e2942ee7b9ab442 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Tue, 3 Nov 2026 04:36:55 -0500 Subject: [PATCH 64/67] Test each wage cut against its own committed label The E-G review's fix 4. Only the feed checked the wage table's cents against their labels, so a $1 change to one upper_cent passed every feed-free test, even after the builder rewrote earnings_bands.json to match. The new test reads each band's committed label as the right-closed band (a - 1, b] dollars, so the cut below it is 100(a - 1) cents and its upper_cent is 100b. A label whose lower endpoint repeats the previous band's upper one starts at that cut, and the test pins those rows to 27, 57 and 87. Without the feed, the review's row_107 mutant turns this test red and no other in test_nz_transport_declarations.py or test_nz_earnings_bands.py (1 failed, 63 passed, 2 skipped). Co-Authored-By: Claude Opus 5.5 --- .../shared/test_nz_transport_declarations.py | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) 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 3cf8c8acfe..1d6f3123dc 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 @@ -5,6 +5,7 @@ import copy import json import os +import re import subprocess import sys from functools import cache @@ -1152,6 +1153,46 @@ def test_wage_table_has_235_right_closed_bands_and_no_companions(): assert not any("count_reference" in band for band in table["bands"]) +# The rows whose label repeats the previous row's upper endpoint ($20,000, +# $50,000 and $80,000). Right closure gives each shared endpoint to the lower band. +_WAGE_SHARED_ENDPOINT_ROWS = ["row_27", "row_57", "row_87"] + + +def _label_dollars(text): + return 1_000_000 if text == "1 million" else int(text.replace(",", "")) + + +def test_each_wage_cut_follows_from_its_committed_label(): + """Each band's cents follow from its own label, with no feed. + + "$a - $b" is the right-closed band (a - 1, b] in dollars, so the cut below + it is 100(a - 1) cents and its ``upper_cent`` is 100b. A label whose lower + endpoint repeats the previous band's upper one starts at that cut instead, + and only the three pinned rows do. "Over $1 million" is the open tail. The + edges test above scales these cuts, and the feed audit checks the labels + against the feed, which CI doesn't load. + """ + _, table, _ = _earnings_sources() + bands = table["bands"] + cuts = [table["first_lower_cut_cents"]] + [band["upper_cent"] for band in bands] + shared, previous = [], None + for index, band in enumerate(bands[:-1]): + label = " ".join(band["source_label"].split()) + match = re.fullmatch(r"\$([\d,]+) - \$([\d,]+|1 million)", label) + assert match, (band["id"], label) + lower, upper = (_label_dollars(text) for text in match.groups()) + if lower == previous: + shared.append(band["id"]) + assert cuts[index] == 100 * lower, band["id"] + else: + assert cuts[index] == 100 * (lower - 1), band["id"] + assert cuts[index + 1] == 100 * upper, band["id"] + previous = upper + assert shared == _WAGE_SHARED_ENDPOINT_ROWS + assert bands[-1]["source_label"] == "Over $1 million" + assert previous == 1_000_000 and cuts[-2:] == [100 * previous, None] + + @pytest.mark.parametrize( "mutate", ["hand_edited_edge", "stale_factor_receipt", "stale_interval_table", "tail"], From 044440a7216658b2883446ebe1f3b3fc4228ce64 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Tue, 3 Nov 2026 04:37:07 -0500 Subject: [PATCH 65/67] Name the stand-in in the declared-scenario scaling test Belgium's hub asked for this rename when it cleared E to G's shared test lines: since F, the test checks the coarse stand-in table, not the national one. Only the name changes. Co-Authored-By: Claude Opus 5.5 --- .../tests/engine_free/shared/test_transport_composed_graph.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 41a8df7c16..7a4144858c 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 @@ -2408,7 +2408,7 @@ def test_composition_refuses_a_supplied_interval_document_from_another_profile() _prepare_node(spec, row, {"index": "low"}, interval_knobs=None) -def test_declared_scenarios_scale_national_cuts_with_their_own_factor(): +def test_declared_scenarios_scale_the_standin_cuts_with_their_own_factor(): from fractions import Fraction spec = load_transport_spec("nz") From 20507ad8527dd25640c9cdc81a3f5c028dfced30 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Tue, 3 Nov 2026 04:39:03 -0500 Subject: [PATCH 66/67] Expect G's nz_super stage in the holdout stage-guard test (R2C-26) G's nz.precal.nz_super (R2C-2) adds the nz_super binding to NZ's precalibration stages. At main + G, this test failed on its pinned set alone, and the stage guard itself accepts the stage: test_packaged_precalibration_stages_pass_the_stage_guard[nz] Hub ruling R2C-26 lifts the freeze for this one line. Co-Authored-By: Claude Opus 5.5 --- .../engine_free/shared/test_transport_holdout_separation.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/microcosm-build/tests/engine_free/shared/test_transport_holdout_separation.py b/packages/microcosm-build/tests/engine_free/shared/test_transport_holdout_separation.py index aadf3c50df..b50237395a 100644 --- a/packages/microcosm-build/tests/engine_free/shared/test_transport_holdout_separation.py +++ b/packages/microcosm-build/tests/engine_free/shared/test_transport_holdout_separation.py @@ -274,7 +274,7 @@ def test_packaged_precalibration_stages_pass_the_stage_guard(country): """ stages = compose_module._precalibration_stages(load_transport_spec(country)) - expected = {"income_tax_schedule_1", "main_benefits_rates"} + expected = {"income_tax_schedule_1", "main_benefits_rates", "nz_super"} assert set(stages) == (expected if country == "nz" else set()) From f43e8fbba39c05875924fdd99aa4fd7719171944 Mon Sep 17 00:00:00 2001 From: Max Ghenis Date: Tue, 3 Nov 2026 06:13:58 -0500 Subject: [PATCH 67/67] Keep NZ's interval outputs out of the small-frame column tests G's 714e10d0 adds twelve stand-in income band outputs to NZ's calibration_bindings.json, each an "interval" entry. The tests in test_calibration_columns.py call prepare_calibration_columns on that file without the effective interval document, so the check at packages/microcosm-build/src/microcosm/build/calibration_columns.py:106-107 refuses them with "Interval outputs need the effective interval document." Brief 214 counted 17 such failures at 891cb9f1. The prepare kernel passes the document (packages/microcosm-build/src/microcosm/build/transport/target_kernels.py:679); these tests call the function directly. _bindings() now drops the interval entries, and a new test pins the refusal: NZ's packaged bindings declare interval outputs, and prepare_calibration_columns refuses them without the document. The file's interval tests still cover interval outputs on their own fixture. With the fix the file gives 106 passed. Co-Authored-By: Claude Opus 5.5 --- .../shared/test_calibration_columns.py | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) 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 3ad729cfbd..89dce7f540 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 @@ -35,7 +35,7 @@ from test_support.paths import paths_for -def _bindings(): +def _packaged_bindings(): return json.loads( ( paths_for("microcosm-build").package @@ -44,6 +44,20 @@ def _bindings(): ) +def _bindings(): + """NZ's packaged bindings without their interval outputs. + + The stand-in income band indicators need the effective interval document + (the ``intervals`` argument), which these tests don't pass. The interval + tests below cover interval outputs on their own fixture. + """ + bindings = _packaged_bindings() + bindings["columns"] = [ + entry for entry in bindings["columns"] if "interval" not in entry + ] + return bindings + + def _tables(): return { "person": pd.DataFrame( @@ -84,6 +98,13 @@ def _replace_people(tables, ages): ) +def test_packaged_interval_outputs_need_the_effective_interval_document(): + bindings = _packaged_bindings() + assert any("interval" in entry for entry in bindings["columns"]) + with pytest.raises(ValueError, match="need the effective interval document"): + prepare_calibration_columns(_tables(), bindings) + + def test_prepared_columns_partition_age_and_canonical_tenure_on_a_real_frame(): tables = _tables() prepared = prepare_calibration_columns(tables, _bindings())